Ejemplo n.º 1
0
int FTrem::CalcStem(FunctorParams *functorParams)
{
    CalcStemParams *params = dynamic_cast<CalcStemParams *>(functorParams);
    assert(params);

    const ListOfObjects *fTremChildren = this->GetList(this);

    // Should we assert this at the beginning?
    if (fTremChildren->empty()) {
        return FUNCTOR_CONTINUE;
    }
    const ArrayOfBeamElementCoords *beamElementCoords = this->GetElementCoords();

    assert(beamElementCoords->size() == 2);

    int elementCount = 2;

    Layer *layer = dynamic_cast<Layer *>(this->GetFirstParent(LAYER));
    assert(layer);
    Staff *staff = dynamic_cast<Staff *>(layer->GetFirstParent(STAFF));
    assert(staff);

    this->m_drawingParams.CalcBeam(layer, staff, params->m_doc, beamElementCoords, elementCount);

    return FUNCTOR_CONTINUE;
}