diff --git a/src/optional_components/storage.jl b/src/optional_components/storage.jl index 34f01ecf..de009fa5 100644 --- a/src/optional_components/storage.jl +++ b/src/optional_components/storage.jl @@ -12,6 +12,16 @@ struct Storage{T,N} new{T,length(steps)}(x, q, v, ω) end + function Storage(x::Vector{<:Vector{<:AbstractVector{T}}},q::Vector{Vector{UnitQuaternion{T}}}) where T + steps = Base.OneTo(length(x[1])) + nbodies = length(x) + + v = [[szeros(T, 3) for i = steps] for j = 1:nbodies] + ω = [[szeros(T, 3) for i = steps] for j = 1:nbodies] + + new{T,length(steps)}(x, q, v, ω) + end + Storage{T}() where T = Storage{T}(Base.OneTo(0),0) end