VisionFlowPro/NodeEditorPro/include/nodes/ConnectionGeometry.hpp
2023-02-28 14:50:28 +08:00

61 lines
882 B
C++

#pragma once
#include "PortType.hpp"
#include <QtCore/QPointF>
#include <QtCore/QRectF>
#include <iostream>
namespace QtNodes
{
class ConnectionGeometry
{
public:
ConnectionGeometry();
public:
QPointF const&
getEndPoint(PortType portType) const;
void
setEndPoint(PortType portType, QPointF const& point);
void
moveEndPoint(PortType portType, QPointF const& offset);
QRectF
boundingRect() const;
std::pair<QPointF, QPointF>
pointsC1C2() const;
QPointF
source() const { return _out; }
QPointF
sink() const { return _in; }
double
lineWidth() const { return _lineWidth; }
bool
hovered() const { return _hovered; }
void
setHovered(bool hovered) { _hovered = hovered; }
private:
// local object coordinates
QPointF _in;
QPointF _out;
//int _animationPhase;
double _lineWidth;
bool _hovered;
};
}