I'd like to know if there is an automatic way of producing edges orthogonal to the nodes. In particular this would be useful when the nodes are automatically rotated. An example:

I'd like to connect the node "long text" with "C" but having the edge (in red) orthogonal to the node like in B.
\documentclass[border=5pt,convert={density=300,size=1080x800,outext=.png}]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, positioning}
\begin{document}
\begin{tikzpicture}
\node[rectangle,draw] (A) at (6,0) {A};
\node[rectangle,draw,rotate=+35] (B) at (2,-3) {B};
\node [rectangle,draw] (C) at (5,0) {C};
\path (A) edge [in=90+35,out=-90] node (long) [draw,midway,sloped,rotate=-90,fill=white] {long text} (B) ;
% I'd like to connect (long) with C having the edge orthogonal to both the nodes
\draw ($(long.north west)!.3!(long.north east)$) edge [in=-90,red] ($(C.south west)!.3!(C.south east)$);
\end{tikzpicture}
\end{document}
I tried with the option "relative" but, in this case, the in/out angles are relative to the edge, not to the node.
I posed this question also in Define a new rectangular node with several anchor points in tikz , but I think it can deserve a questions by itself.
Side question: I don't understand why the edge starting from (B) does not start from the center of the (B) but it is slightly on its left.

in
($(#1.north west)!.3!(#1.north east)$) edge [in=\n2+90,out=\n1-90,red] ($(#2.south west)!.3!(#2.south east)$); } But I'd like to make it more tikz friendly, namely using a new style (like e.g. edge [ !-!] ). Any hint? – Podantoro Jun 01 '15 at 14:54
\EdgeOrthTo{long}{C}– Podantoro Jun 01 '15 at 16:25