Bromeon
Public Member Functions | Protected Member Functions
thor::Zone Class Reference

Abstract base class for geometric zones. More...

Inheritance diagram for thor::Zone:
Inheritance graph

List of all members.

Public Member Functions

virtual ~Zone ()
 Virtual destructor.
virtual sf::Vector2f GetRandomPoint () const =0
 Returns a random point inside the zone (uniformly distributed).
virtual ZoneClone () const =0
 Returns a copy of the dynamic object type, allocated with the new operator.
void SetPosition (sf::Vector2f position)
 Sets the object's position.
void SetPosition (float x, float y)
 Sets the object's position.
void Move (sf::Vector2f offset)
 Moves the object by a given offset.
void Move (float offsetX, float offsetY)
 Moves the object by a given offset.
sf::Vector2f GetPosition () const
 Returns the object's position.
void SetRotation (float rotation)
 Sets the object's rotation (in degrees).
void Rotate (float angle)
 Add a given angle to the object's rotation (in degrees).
float GetRotation () const
 Returns the object's rotation (in degrees).

Protected Member Functions

 Zone (sf::Vector2f position, float rotation)
 Base class constructor.
sf::Vector2f TransformToGlobal (sf::Vector2f point) const
 Transforms a point according to the position and rotation of the zone.

Detailed Description

Abstract base class for geometric zones.

A zone represents an geometric figure on the screen, e.g. a rectangle, circle or just a point. Derive from this class to implement your own zone.


Member Function Documentation

virtual sf::Vector2f thor::Zone::GetRandomPoint ( ) const [pure virtual]

Returns a random point inside the zone (uniformly distributed).

Returns:
Point in global coordinate system (translation, rotation already applied).

Implemented in thor::Rectangle, thor::Circle, and thor::Point.

sf::Vector2f thor::Zone::TransformToGlobal ( sf::Vector2f  point) const [protected]

Transforms a point according to the position and rotation of the zone.

Parameters:
pointPoint in unit coordinate system with origin (0, 0).
Returns:
Point in a coordinate system rotated by the zone's rotation and offset by the zone's position (in this order).

The documentation for this class was generated from the following file: