Skip to content

Commit 5632303

Browse files
committed
add MultiFace type
1 parent a14ff3e commit 5632303

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/basic_types.jl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ Face index, connecting points to form an Ngon
3838

3939
@fixed_vector NgonFace = AbstractNgonFace
4040

41-
4241
const LineFace{T} = NgonFace{2,T}
4342
const TriangleFace{T} = NgonFace{3,T}
4443
const QuadFace{T} = NgonFace{4,T}
@@ -51,6 +50,13 @@ end
5150
Face(::Type{<:NgonFace{N}}, ::Type{T}) where {N,T} = NgonFace{N,T}
5251
Face(F::Type{NgonFace{N,FT}}, ::Type{T}) where {FT,N,T} = F
5352

53+
struct MultiFace{N, T, FaceType <: AbstractFace{N, T}, Names, M}
54+
pos_face::FaceType
55+
attrib_faces::NamedTuple{Names, NTuple{M, FaceType}}
56+
end
57+
58+
MultiFace(face::AbstractFace; kwargs...) = MultiFace(face, NamedTuple(kwargs))
59+
5460
@propagate_inbounds Base.getindex(x::Polytope, i::Integer) = coordinates(x)[i]
5561
@propagate_inbounds Base.iterate(x::Polytope) = iterate(coordinates(x))
5662
@propagate_inbounds Base.iterate(x::Polytope, i) = iterate(coordinates(x), i)

0 commit comments

Comments
 (0)