add Clone for Mesh
This commit is contained in:
parent
ef922135e6
commit
db142d125b
@ -27,6 +27,7 @@ pub trait PolygonIter{
|
|||||||
pub trait MapVertexId{
|
pub trait MapVertexId{
|
||||||
fn map_vertex_id<F:Fn(VertexId)->VertexId>(self,f:F)->Self;
|
fn map_vertex_id<F:Fn(VertexId)->VertexId>(self,f:F)->Self;
|
||||||
}
|
}
|
||||||
|
#[derive(Clone)]
|
||||||
pub struct PolygonList(Vec<IndexedVertexList>);
|
pub struct PolygonList(Vec<IndexedVertexList>);
|
||||||
impl PolygonList{
|
impl PolygonList{
|
||||||
pub const fn new(list:Vec<IndexedVertexList>)->Self{
|
pub const fn new(list:Vec<IndexedVertexList>)->Self{
|
||||||
@ -54,6 +55,7 @@ impl MapVertexId for PolygonList{
|
|||||||
// }
|
// }
|
||||||
#[derive(Clone,Copy,Hash,id::Id,PartialEq,Eq)]
|
#[derive(Clone,Copy,Hash,id::Id,PartialEq,Eq)]
|
||||||
pub struct PolygonGroupId(u32);
|
pub struct PolygonGroupId(u32);
|
||||||
|
#[derive(Clone)]
|
||||||
pub enum PolygonGroup{
|
pub enum PolygonGroup{
|
||||||
PolygonList(PolygonList),
|
PolygonList(PolygonList),
|
||||||
//TriangleStrip(TriangleStrip),
|
//TriangleStrip(TriangleStrip),
|
||||||
@ -89,12 +91,13 @@ impl RenderConfig{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#[derive(Clone)]
|
||||||
pub struct IndexedGraphicsGroup{
|
pub struct IndexedGraphicsGroup{
|
||||||
//Render pattern material/texture/shader/flat color
|
//Render pattern material/texture/shader/flat color
|
||||||
pub render:RenderConfigId,
|
pub render:RenderConfigId,
|
||||||
pub groups:Vec<PolygonGroupId>,
|
pub groups:Vec<PolygonGroupId>,
|
||||||
}
|
}
|
||||||
#[derive(Default)]
|
#[derive(Clone,Default)]
|
||||||
pub struct IndexedPhysicsGroup{
|
pub struct IndexedPhysicsGroup{
|
||||||
//the polygons in this group are guaranteed to make a closed convex shape
|
//the polygons in this group are guaranteed to make a closed convex shape
|
||||||
pub groups:Vec<PolygonGroupId>,
|
pub groups:Vec<PolygonGroupId>,
|
||||||
@ -102,6 +105,7 @@ pub struct IndexedPhysicsGroup{
|
|||||||
//This is a superset of PhysicsModel and GraphicsModel
|
//This is a superset of PhysicsModel and GraphicsModel
|
||||||
#[derive(Clone,Copy,Hash,id::Id,Eq,PartialEq)]
|
#[derive(Clone,Copy,Hash,id::Id,Eq,PartialEq)]
|
||||||
pub struct MeshId(u32);
|
pub struct MeshId(u32);
|
||||||
|
#[derive(Clone)]
|
||||||
pub struct Mesh{
|
pub struct Mesh{
|
||||||
pub unique_pos:Vec<Planar64Vec3>,//Unit32Vec3
|
pub unique_pos:Vec<Planar64Vec3>,//Unit32Vec3
|
||||||
pub unique_normal:Vec<Planar64Vec3>,//Unit32Vec3
|
pub unique_normal:Vec<Planar64Vec3>,//Unit32Vec3
|
||||||
|
Loading…
Reference in New Issue
Block a user