Models require line of sight to target another model. A model has line of sight when it can draw at least one straight line from any point of its square to any point on the intended target´s square. The line cannot contact walls or structures, including where walls or structures meet squares on a corner.
Models (friendly or enemy), tokens, and templates do not block line of sight.
Models always have line of sight to themselves.