44 const auto *positionEvent =
57 if (contour->SelectVertexAt(click, 1.5, timestep))
59 contour->SetSelectedVertexAsControlPoint();
63 auto *contourGeometry =
dynamic_cast<Geometry3D *
>(contour->GetGeometry(timestep));
65 if (contourGeometry->IsInside(click))
96 mitk::Point3D currentPosition = positionEvent->GetPositionInWorld();
100 if (contour->IsNearContour(currentPosition, 1.5, timestep))
102 if (isHover ==
false)
128 mitk::Point3D currentPosition = positionEvent->GetPositionInWorld();
130 translation[1] = currentPosition[1] - this->m_lastMousePosition[1];
131 translation[2] = currentPosition[2] - this->m_lastMousePosition[2];
132 contour->ShiftSelectedVertex(translation);
134 this->m_lastMousePosition = positionEvent->GetPositionInWorld();
148 mitk::Point3D currentPosition = positionEvent->GetPositionInWorld();
150 translation[1] = currentPosition[1] - this->m_lastMousePosition[1];
151 translation[2] = currentPosition[2] - this->m_lastMousePosition[2];
152 contour->ShiftContour(translation, timestep);
154 this->m_lastMousePosition = positionEvent->GetPositionInWorld();
virtual void OnMovePoint(StateMachineAction *, InteractionEvent *interactionEvent)
ContourModel is a structure of linked vertices defining a contour in 3D space. The vertices are store...
Super class for all position events.
Standard implementation of BaseGeometry.
virtual void OnFinishEditing(StateMachineAction *, InteractionEvent *interactionEvent)
void Deselect()
Deselect vertex.
Constants for most interaction classes, due to the generic StateMachines.
bool GetBoolProperty(const char *propertyKey, bool &boolValue, const mitk::BaseRenderer *renderer=nullptr) const
Convenience access method for bool properties (instances of BoolProperty)
void ConnectActionsAndFunctions() override
DataNode * GetDataNode() const
BaseRenderer * GetSender() const
mitk::Point3D m_lastMousePosition
BaseData * GetData() const
Get the data object (instance of BaseData, e.g., an Image) managed by this DataNode.
static RenderingManager * GetInstance()
Represents an action, that is executed after a certain event (in statemachine-mechanism) TODO: implem...
virtual unsigned int GetTimeStep() const
virtual bool IsHovering(const InteractionEvent *interactionEvent)
void SetBoolProperty(const char *propertyKey, bool boolValue, const mitk::BaseRenderer *renderer=nullptr)
Convenience method for setting boolean properties (instances of BoolProperty)
void RequestUpdate(vtkRenderWindow *renderWindow)
vtkRenderWindow * GetRenderWindow() const
Access the RenderWindow into which this renderer renders.
#define CONNECT_CONDITION(a, f)
virtual void OnDeletePoint(StateMachineAction *, InteractionEvent *interactionEvent)
#define CONNECT_FUNCTION(a, f)
bool RemoveVertex(const VertexType *vertex, int timestep=0)
Remove a vertex at given timestep within the container.
virtual void OnMoveContour(StateMachineAction *, InteractionEvent *interactionEvent)
~ContourModelInteractor() override
virtual bool OnCheckPointClick(const InteractionEvent *interactionEvent)