Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
InterceptSolver.cpp
Go to the documentation of this file.
1#include "InterceptSolver.h"
2#include <iostream>
3#include <utility>
4
6 monitorFunc(std::move(monitor)), timeoutFunc(std::move(timeout)) {}
7
9 // Check limits
10 if (timeoutFunc && timeoutFunc()) {
11 std::cout << "[InterceptSolver] Timeout/Safety limit reached." << std::endl;
12 return true; // Stop (Safety exit)
13 }
14
15 // Check the physics condition
16 if (monitorFunc) {
17 float val = monitorFunc();
18 if (val <= 0.0f) {
19 return true; // Stop (Success exit)
20 }
21 }
22
23 return false; // Keep running
24}
InterceptSolver(MonitorFunction monitorFunc, TimeoutCondition timeoutFunc=nullptr)
Construct a new Intercept Solver.
std::function< float()> MonitorFunction
std::function< bool()> TimeoutCondition
bool stepFrame() override
Checks the current simulation state against the intercept conditions.
Hash specialization for Vertex to enable use in unordered containers.
Definition Mesh.h:33