diff --git a/modules/fieldlinessequence/tasks/findlastclosedfieldlinestask.cpp b/modules/fieldlinessequence/tasks/findlastclosedfieldlinestask.cpp index 884df634ef..b79ab7fe86 100644 --- a/modules/fieldlinessequence/tasks/findlastclosedfieldlinestask.cpp +++ b/modules/fieldlinessequence/tasks/findlastclosedfieldlinestask.cpp @@ -141,7 +141,7 @@ void FindLastClosedFieldlinesTask::perform( LINFO(std::format("First Pos: {}", firstPos)); LINFO(std::format("Last Pos: {}", lastPos)); - + } diff --git a/modules/fieldlinessequence/tasks/findlastclosedfieldlinestask.h b/modules/fieldlinessequence/tasks/findlastclosedfieldlinestask.h index 269d86b40a..37f2a7247c 100644 --- a/modules/fieldlinessequence/tasks/findlastclosedfieldlinestask.h +++ b/modules/fieldlinessequence/tasks/findlastclosedfieldlinestask.h @@ -45,7 +45,7 @@ namespace openspace { std::string _tracingVar = "b"; std::filesystem::path _inputPath; std::vector _sourceFiles; - int _numberOfPointsOnBoundary = 3; + int _numberOfPointsOnBoundary = 10; float _threshold = 0.5; //RE std::filesystem::path _outputFolder; bool _saveLastIterationOfFieldLines = true; diff --git a/modules/fieldlinessequence/util/kameleonfieldlinehelper.cpp b/modules/fieldlinessequence/util/kameleonfieldlinehelper.cpp index 1ff00e4444..f504d1683e 100644 --- a/modules/fieldlinessequence/util/kameleonfieldlinehelper.cpp +++ b/modules/fieldlinessequence/util/kameleonfieldlinehelper.cpp @@ -337,17 +337,30 @@ bool addLinesToState(ccmc::Kameleon* kameleon, const std::vector& see seed.y, seed.z ); - const std::vector& positions = ccmcFieldline.getPositions(); + ccmcFieldline.getDs(); + ccmcFieldline.measure(); + ccmc::Fieldline mappedFieldline = + ccmcFieldline.interpolate(1, ccmcFieldline.getPositions().size()); + const std::vector& fieldlinePositions = + mappedFieldline.getPositions(); - const size_t nLinePoints = positions.size(); std::vector vertices; - vertices.reserve(nLinePoints); - for (const ccmc::Point3f& p : positions) { - vertices.emplace_back(p.component1, p.component2, p.component3); + for (const ccmc::Point3f& pt : fieldlinePositions) { + vertices.emplace_back(pt.component1, pt.component2, pt.component3); } + + + //const std::vector& positions = ccmcFieldline.getPositions(); + + //const size_t nLinePoints = positions.size(); + + //vertices.reserve(nLinePoints); + //for (const ccmc::Point3f& p : positions) { + // vertices.emplace_back(p.component1, p.component2, p.component3); + //} state.addLine(vertices); - success |= (nLinePoints > 0); + success |= (vertices.size() > 0); } return success;