13 const std::array<double, 3>& actual,
const char* name,
double tolerance = 1e-5)
16 for (
int i = 0; i < 3; i++)
18 if (std::abs(expected[i] - actual[i]) > tolerance)
20 std::cerr <<
"Mismatch in " << name <<
"[" << i <<
"] Expected: " << expected[i]
21 <<
", Actual: " << actual[i] << std::endl;
30 int FramesSinceLeftButtonDown = 0;
31 int ReleaseLeftButtonAfterFrameCount = -1;
42 this->ReleaseLeftButtonAfterFrameCount = frameCount;
45 void Execute(
vtkObject* vtkNotUsed(caller),
unsigned long eventId,
void* callData)
override
51 if (
auto* interactor =
54 this->FramesSinceLeftButtonDown++;
55 if (this->ReleaseLeftButtonAfterFrameCount > 0 &&
56 this->FramesSinceLeftButtonDown >= this->ReleaseLeftButtonAfterFrameCount)
60 interactor->ProcessEvents();
bool assertTuplesEqual(const std::array< double, 3 > &expected, const std::array< double, 3 > &actual, const char *name, double tolerance=1e-5)
void ReleaseLeftButtonAfter(int frameCount)
~vtkJoystickFlyObserver() override=default
static vtkJoystickFlyObserver * New()
int GetFramesSinceLeftButtonDown() const
void Execute(vtkObject *caller, unsigned long eventId, void *callData) override
All derived classes of vtkCommand must implement this method.
vtkJoystickFlyObserver()=default
abstract base class for most VTK objects
static vtkRenderWindowInteractor * SafeDownCast(vtkObjectBase *o)