// 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; }