65    Wt::WRectF basicRect = Wt::WRectF(
_out, 
_in).normalized();
 
   67    Wt::WRectF c1c2Rect = Wt::WRectF(points.first, points.second).normalized();
 
   71    float const diam = connectionStyle.pointDiameter();
 
   73    Wt::WRectF commonRect = basicRect.united(c1c2Rect);
 
   75    Wt::WPointF 
const cornerOffset(diam, diam);
 
   77    Wt::WPointF topLeft(commonRect.topLeft().x() - cornerOffset.x(), commonRect.topLeft().y() - cornerOffset.y());
 
   79    Wt::WPointF bottomRight(commonRect.bottomLeft().x() + 2 * cornerOffset.x(), commonRect.bottomLeft().y() + 2 * cornerOffset.y());
 
   81    return Wt::WRectF(topLeft, bottomRight);
 
 
   86    const double defaultOffset = 200;
 
   88    double xDistance = 
_in.x() - 
_out.x();
 
   90    double horizontalOffset = std::min(defaultOffset, std::abs(xDistance));
 
   92    double verticalOffset = 0;
 
   98        double yDistance = 
_in.y() - 
_out.y();
 
  100        double vector = yDistance < 0 ? -1.0 : 1.0;
 
  102        verticalOffset = std::min(defaultOffset, std::abs(yDistance)) * vector;
 
  107    horizontalOffset *= ratioX;
 
  109    Wt::WPointF c1(
_out.x() + horizontalOffset, 
_out.y() + verticalOffset);
 
  110    Wt::WPointF c2(
_in.x() - horizontalOffset, 
_in.y() - verticalOffset);
 
  112    return std::make_pair(c1, c2);
 
 
  305        auto node = 
getNode(attachedPort);
 
  307        Wt::WTransform nodeSceneTransform = node->nodeGraphicsObject().sceneTransform();
 
  309        Wt::WPointF pos = node->nodeGeometry().portScenePosition(attachedPortIndex,
 
 
  347    auto& nodeWeak = 
getNode(portType);
 
 
  466        return model->dataType(portType, index);
 
  488            return model->
dataType(portType, index);
 
 
  514    std::shared_ptr<WtNodeData> emptyData;
 
 
  521    std::shared_ptr<WtNodeData> deletedData = 
nullptr;
 
 
std::function< SharedNodeData(SharedNodeData)> TypeConverter
 
static const int INVALID_PORT
 
PortType oppositePort(PortType port)
 
Wt::WRectF boundingRect() const
 
void moveEndPoint(PortType portType, Wt::WPointF const &offset)
 
void setEndPoint(PortType portType, Wt::WPointF const &point)
 
Wt::WPointF const & getEndPoint(PortType portType) const
 
std::pair< Wt::WPointF, Wt::WPointF > pointsC1C2() const
 
Graphic Object for connection. Adds itself to scene.
 
WtConnectionState _connectionState
 
void propagateData(std::shared_ptr< WtNodeData > nodeData) const
 
WtNode * getNode(PortType portType) const
 
WtConnectionGeometry _connectionGeometry
 
NodeDataType dataType(PortType portType) const
 
WtConnectionGraphicsObject & getConnectionGraphicsObject() const
 
void setTypeConverter(TypeConverter converter)
 
void clearNode(PortType portType)
 
void propagateDisconnectedData() const
 
PortType requiredPort() const
 
void setRequiredPort(PortType portType)
 
PortIndex getPortIndex(PortType portType) const
 
WtConnection(PortType portType, WtNode &node, PortIndex portIndex)
 
void propagateEmptyData() const
 
WtConnectionState const & connectionState() const
 
WtConnectionGeometry & connectionGeometry()
 
std::unique_ptr< WtConnectionGraphicsObject > _connectionGraphicsObject
 
void setGraphicsObject(std::unique_ptr< WtConnectionGraphicsObject > &&graphics)
 
void setNodeToPort(WtNode &node, PortType portType, PortIndex portIndex)
 
void removeFromNodes() const
 
WtNode * _lastHoveredNode
 
void resetLastHoveredNode()
 
void setLastHoveredNode(WtNode *node)
 
void interactWithNode(WtNode *node)
 
virtual NodeDataType dataType(PortType portType, PortIndex portIndex) const =0
 
WtNodeDataModel * nodeDataModel() const
 
static WtConnectionStyle const & connectionStyle()