Esempio n. 1
0
// Calculate a global position of local positions based on this transporter
void TransportBase::CalculateGlobalPositionOf(float lx, float ly, float lz, float lo, float& gx, float& gy, float& gz, float& go) const
{
    RotateLocalPosition(lx, ly, gx, gy);
    gx += m_owner->GetPositionX();
    gy += m_owner->GetPositionY();

    gz = lz + m_owner->GetPositionZ();
    go = NormalizeOrientation(lo + m_owner->GetOrientation());
}
// Calculate a global position of local positions based on this transporter
Position TransportBase::CalculateGlobalPositionOf(Position const& pos) const
{
    Position g(pos);
    RotateLocalPosition(pos.x, pos.y, g.x, g.y);
    g.x += m_owner->GetPositionX();
    g.y += m_owner->GetPositionY();

    g.z = pos.z + m_owner->GetPositionZ();
    g.o = MapManager::NormalizeOrientation(pos.o + m_owner->GetOrientation());
    return g;
}