Skip to content

Commit e590cc5

Browse files
committed
Add defaults for Iteration class
1 parent 1c4a19b commit e590cc5

3 files changed

Lines changed: 12 additions & 4 deletions

File tree

src/Iteration.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@ using internal::DeferredParseAccess;
5353
Iteration::Iteration() : Attributable(NoInit())
5454
{
5555
setData(std::make_shared<Data_t>());
56-
setTime(static_cast<double>(0));
57-
setDt(static_cast<double>(1));
58-
setTimeUnitSI(1);
5956
meshes.writable().ownKeyWithinParent = "meshes";
6057
particles.writable().ownKeyWithinParent = "particles";
6158
}

src/backend/ScientificDefaults.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ void ScientificDefaults<Child>::addDefaultFor_resolveValue(
6464
return get_value;
6565
}
6666
}();
67+
constexpr bool debug = true;
68+
if constexpr (debug)
6769
{
6870
std::cout << "\tInitializing default for '" << key << "' = '";
6971
if constexpr (
@@ -167,7 +169,13 @@ void ScientificDefaults<Child>::addDefaults()
167169
std::cout << "Adding defaults for '" << asChild().myPath().openPMDPath()
168170
<< "'" << std::endl;
169171

170-
if constexpr (std::is_same_v<Child, Mesh>)
172+
if constexpr (std::is_same_v<Child, Iteration>)
173+
{
174+
addDefaultFor("time", 0., &Iteration::setTime);
175+
addDefaultFor("dt", 1., &Iteration::setDt);
176+
addDefaultFor("timeUnitSI", 1.0, &Iteration::setTimeUnitSI);
177+
}
178+
else if constexpr (std::is_same_v<Child, Mesh>)
171179
{
172180
auto dimensionality = asChild().retrieveDimensionality();
173181

test/CoreTest.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -618,6 +618,9 @@ TEST_CASE("iteration_default_test", "[core]")
618618

619619
Iteration &i = o.iterations[42];
620620

621+
REQUIRE(i.numAttributes() == 0);
622+
623+
i.close();
621624
REQUIRE(i.time<double>() == static_cast<double>(0));
622625
REQUIRE(i.dt<double>() == static_cast<double>(1));
623626
REQUIRE(i.timeUnitSI() == static_cast<double>(1));

0 commit comments

Comments
 (0)