Skip to content

Commit e12b389

Browse files
committed
make hypercube more generic + bug fix
1 parent adeb269 commit e12b389

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

src/Geometry/referenceshapes.jl

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,19 +72,18 @@ the lower corner at the origin and the upper-corner at `(1,1,…,1)`.
7272
"""
7373
struct ReferenceHyperCube{N} <: AbstractReferenceShape{N}
7474
end
75+
Base.in(x,::ReferenceHyperCube) = all(0 xi 1 for xi in x)
7576

77+
center(::SType{ReferenceHyperCube{N}}) where {N} = svector(i->0.5,N)
78+
79+
number_of_nodes(::SType{ReferenceHyperCube{N}}) where {N} = 2^N
7680

7781
"""
7882
const ReferenceSquare = ReferenceHyperCube{2}
7983
8084
Singleton type representing the square with vertices `(0,0),(0,1),(1,1),(1,0)`
8185
"""
8286
const ReferenceSquare = ReferenceHyperCube{2}
83-
Base.in(x,::ReferenceSquare) = 0 x[1] 1 && 0 x[2] 1
84-
center(::Type{ReferenceSquare}) = SVector(0.5,0.5)
85-
center(::ReferenceSquare) = SVector(0.5,0.5)
86-
number_of_nodes(::Type{ReferenceSquare}) = 4
87-
number_of_nodes(::ReferenceSquare) = 4
8887

8988
vertices(sq::ReferenceSquare) = SVector(0,0), SVector(1,0), SVector(1,1), SVector(0,1)
9089

src/Interpolation/hyperrectangle.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ function HyperRectangle(els,cube=false)
200200
ub = max.(xc .+ w/2,ub)
201201
# TODO: return HyperCube instead
202202
end
203+
lb == ub && (lb = prevfloat.(lb); ub = nextfloat.(ub)) # to avoid "empty" rectangles
203204
return HyperRectangle(lb,ub)
204205
end
205206

0 commit comments

Comments
 (0)