Unless otherwise authorized or directed by this Code or applicable law, an arrest of a person by a police officer shall be made in the following cases:
(a) Whenever he possesses a warrant for the arrest of the person.
(b) Whenever an offense is committed or a breach of peace is threatened in the officer’s presence by the person.
(c) Whenever a felony has in fact been committed and the police officer has reasonable cause to believe the person has committed it.