示例#1
0
void touchmind::print::XPSPrint::_PrintChildrenPaths(const std::shared_ptr<touchmind::model::node::NodeModel> &node)
{
    PATH_DIRECTION linkDirection;
    touchmind::NODE_SIDE nodePosition = node->GetAncestorPosition();
    switch (nodePosition) {
    case touchmind::NODE_SIDE_RIGHT:
        linkDirection = PATH_DIRECTION_RIGHT;
        break;
    case touchmind::NODE_SIDE_LEFT:
        linkDirection = PATH_DIRECTION_LEFT;
        break;
    case touchmind::NODE_SIDE_UNDEFINED:
        linkDirection = PATH_DIRECTION_AUTO;
        break;
    default:
        linkDirection = PATH_DIRECTION_AUTO;
    }

    for (size_t i = 0; i < node->GetActualChildrenCount(); ++i) {
        std::shared_ptr<touchmind::model::node::NodeModel> child = node->GetChild(i);
        touchmind::model::CurvePoints curvePoints;
        view::GeometryBuilder::CalculatePath(
            node,
            child,
            linkDirection,
            touchmind::NODE_JUSTIFICATION_TOP,
            m_pConfiguration->GetLevelSeparation(),
            curvePoints);
        _PrintPath(child, curvePoints);
    }
}
示例#2
0
void Graph::_PrintPath( int start ){
    if( retrospect[start] != NOT_A_VERTEX ){
        _PrintPath( retrospect[start] );
        printf(" to ");
    }
    printf("%d", start + 1);
}
示例#3
0
void Graph::PrintPath( int start ){
    _PrintPath(--start);
    putchar('\n');
}