Пример #1
0
bool ShareIndexContainerAdapter::update(xce::sharesearch::ShareIndexInfoSeq shareinfos)
{
  std::cout<<"enter in adapter..."<<std::endl; 
  //Prx proxy;
  Prx proxy[PROXY_NUM];
  setName("ShareIndexContainer_SubA");
  setEndPoints("@ShareIndexContainer_SubA.ShareIndexContainer_SubA.ShareIndexContainer_SubA");
  proxy[0] = locate<com::xiaonei::sharesearch::server::ShareIndexContainerPrx>(/*managers_,*/ "ShareIndexContainer_SubA", MyUtil::TWO_WAY); 
  
  MCE_INFO(proxy[0]);
  setName("ShareIndexContainer_SubB");
  setEndPoints("@ShareIndexContainer_SubB.ShareIndexContainer_SubB.ShareIndexContainer_SubB"); 
  proxy[1] = locate<com::xiaonei::sharesearch::server::ShareIndexContainerPrx>(/*managers_,*/ "ShareIndexContainer_SubB", MyUtil::TWO_WAY); 
  
  //std::cout<<proxies.size()<<std::endl; 
  //int rand_index = (int)(rand() % proxies.size());
  MCE_INFO(proxy[1]);
  proxy[0]->update(shareinfos);
  proxy[1]->update(shareinfos);
  
  //Prx proxy = locate<com::xiaonei::shareSearch::server::ShareIndexContainerPrx>(/* managers_,*/ "ShareIndexContainer_SubA", MyUtil::TWO_WAY); 
  //MCE_INFO(proxy);
  //proxy->update(shareinfos);
  
  
  
  return true;//proxy->update(shareinfos);
}
/**
 * This method simply ensures presence of two points and
 * adds the needed points for self associations.
 */
void AssociationLine::calculateInitialEndPoints()
{
    if (m_associationWidget->isSelf() && count() < 4) {
        for (int i = count(); i < 4; ++i) {
            insertPoint(i, QPointF());
        }
        UMLWidget *wid = m_associationWidget->widgetForRole(Uml::RoleType::B);
        if (!wid) {
            uError() << "AssociationWidget is partially constructed."
                "UMLWidget for role B is null.";
            return;
        }
        const QRectF rect = m_associationWidget->mapFromScene(
                mapToScene(wid->rect()).boundingRect()).boundingRect();

        qreal l = rect.left() + .25 * rect.width();
        qreal r = rect.left() + .75 * rect.width();
        bool drawAbove = rect.top() >= SelfAssociationMinimumHeight;
        qreal y = drawAbove ? rect.top() : rect.bottom();
        qreal yOffset = SelfAssociationMinimumHeight;
        if (drawAbove) {
            yOffset *= -1.0;
        }

        setPoint(0, QPointF(l, y));
        setPoint(1, QPointF(l, y + yOffset));
        setPoint(2, QPointF(r, y + yOffset));
        setPoint(3, QPointF(r, y));
    } else if (!m_associationWidget->isSelf() && count() < 2) {
        setEndPoints(QPointF(), QPointF());
    }
}
/**
 * Loads AssociationLine information saved in \a qElement XMI element.
 */
bool AssociationLine::loadFromXMI(QDomElement &qElement)
{
    QString layout = qElement.attribute(QLatin1String("layout"), QLatin1String("polyline"));
    m_layout = fromString(layout);

    QDomNode node = qElement.firstChild();

    m_points.clear();

    QDomElement startElement = node.toElement();
    if(startElement.isNull() || startElement.tagName() != QLatin1String("startpoint")) {
        return false;
    }
    QString x = startElement.attribute(QLatin1String("startx"), QLatin1String("0"));
    qreal nX = x.toFloat();
    QString y = startElement.attribute(QLatin1String("starty"), QLatin1String("0"));
    qreal nY = y.toFloat();
    QPointF startPoint(nX, nY);

    node = startElement.nextSibling();
    QDomElement endElement = node.toElement();
    if(endElement.isNull() || endElement.tagName() != QLatin1String("endpoint")) {
        return false;
    }
    x = endElement.attribute(QLatin1String("endx"), QLatin1String("0"));
    nX = x.toFloat();
    y = endElement.attribute(QLatin1String("endy"), QLatin1String("0"));
    nY = y.toFloat();
    QPointF endPoint(nX, nY);
    setEndPoints(startPoint, endPoint);
    QPointF point;
    node = endElement.nextSibling();
    QDomElement element = node.toElement();
    int i = 1;
    while(!element.isNull()) {
        if(element.tagName() == QLatin1String("point")) {
            x = element.attribute(QLatin1String("x"), QLatin1String("0"));
            y = element.attribute(QLatin1String("y"), QLatin1String("0"));
            point.setX(x.toFloat());
            point.setY(y.toFloat());
            insertPoint(i++, point);
        }
        node = element.nextSibling();
        element = node.toElement();
    }

    return true;
}
Пример #4
0
CapsuleShape::CapsuleShape(float radius, const glm::vec3& startPoint, const glm::vec3& endPoint) :
    Shape(CAPSULE_SHAPE), _radius(radius), _halfHeight(0.0f) {
    setEndPoints(startPoint, endPoint);
}