Classes | |
struct | clan::CollidingContours |
Strurcture containing information about contours that collided. More... | |
class | clan::CollisionOutline |
Collision detection outline. More... | |
struct | clan::CollisionPoint |
Collision point information structure. More... | |
class | clan::Contour |
Collision detection contour. More... | |
class | clan::OutlineCircle |
Collision detection outline segmentation circle. More... | |
class | clan::OutlineMath |
Math operations on outlines. More... | |
Enumerations | |
enum | clan::OutlineAccuracy { clan::accuracy_raw, clan::accuracy_high, clan::accuracy_medium, clan::accuracy_low, clan::accuracy_poor } |
Outline optimization accuracy. More... | |
Functions | |
clan::CollidingContours::CollidingContours (const Contour *c1, const Contour *c2, bool in=false) | |
Constructs a CollidingContours. More... | |
Variables | |
const Contour * | clan::CollidingContours::contour1 |
Pointf | clan::CollidingContours::contour1_deep_point |
int | clan::CollisionPoint::contour1_line_end |
int | clan::CollisionPoint::contour1_line_start |
Indexes of intersecting lines on the contours. More... | |
const Contour * | clan::CollidingContours::contour2 |
Pointf | clan::CollidingContours::contour2_deep_point |
int | clan::CollisionPoint::contour2_line_end |
int | clan::CollisionPoint::contour2_line_start |
bool | clan::CollidingContours::inside |
bool | clan::CollisionPoint::is_entry |
Every contour intersection has an entry and exit point. True, if this is an entry point. More... | |
Pointf | clan::CollisionPoint::normal |
Normal vector at the point where the contours intersected. More... | |
float | clan::CollidingContours::penetration_depth |
Pointf | clan::CollidingContours::penetration_normal |
Pointf | clan::CollisionPoint::point |
Coordinates of the point where the contours intersected. More... | |
std::vector< CollisionPoint > | clan::CollidingContours::points |
Construction | |
clan::CollisionOutline::CollisionOutline () | |
Construct a collision outline. More... | |
clan::CollisionOutline::CollisionOutline (const PixelBuffer &pbuf, int alpha_limit=128, OutlineAccuracy accuracy=accuracy_medium) | |
Construct a collision outline. More... | |
clan::CollisionOutline::CollisionOutline (const std::string &fullname, int alpha_limit=128, OutlineAccuracy accuracy=accuracy_medium, bool get_insides=true) | |
Construct a collision outline. More... | |
clan::CollisionOutline::CollisionOutline (IODevice &file, const std::string &file_extension, int alpha_limit=128, OutlineAccuracy accuracy=accuracy_medium, bool get_insides=true) | |
Constructs a CollisionOutline. More... | |
clan::CollisionOutline::CollisionOutline (const std::string &filename, const FileSystem &file_system, int alpha_limit=128, OutlineAccuracy accuracy=accuracy_medium, bool get_insides=true) | |
Constructs a CollisionOutline. More... | |
clan::CollisionOutline::CollisionOutline (const std::vector< Contour > &contours, const Size &size, OutlineAccuracy accuracy) | |
Construct a collision outline. More... | |
clan::CollisionOutline::~CollisionOutline () | |
Resources | |
static Resource< CollisionOutline > | clan::CollisionOutline::resource (const std::string &id, const ResourceManager &resources) |
Retrieves a CollisionOutline from the resource manager. More... | |
static CollisionOutline | clan::CollisionOutline::load (const std::string &id, const XMLResourceDocument &doc) |
Loads a CollisionOutline from a XML resource definition. More... | |
Construction | |
clan::Contour::Contour () | |
Construct a contour. More... | |
clan::Contour::~Contour () | |
Attributes | |
std::vector< Pointf > & | clan::Contour::get_points () |
const std::vector< Pointf > & | clan::Contour::get_points () const |
bool | clan::Contour::is_inside_contour () const |
void | clan::Contour::set_inside_contour (bool is_inside) |
Set inside contour. More... | |
std::vector< OutlineCircle > & | clan::Contour::get_sub_circles () |
const std::vector < OutlineCircle > & | clan::Contour::get_sub_circles () const |
Operators | |
bool | clan::Contour::operator== (const Contour &other) const |
Equality operator. More... | |
bool | clan::Contour::operator!= (const Contour &other) const |
Inequality operator. More... | |
bool | clan::Contour::operator< (const Contour &other) const |
Less than operator. More... | |
Contour | clan::Contour::clone () const |
Makes a copy of the contour. More... | |
Construction | |
clan::OutlineCircle::OutlineCircle () | |
Construct a outline circle. More... | |
Operations | |
bool | clan::OutlineCircle::collide (const OutlineCircle &other) const |
Construct a outline circle. More... | |
Attributes | |
Pointf | clan::OutlineCircle::position |
float | clan::OutlineCircle::radius |
unsigned int | clan::OutlineCircle::start |
unsigned int | clan::OutlineCircle::end |
Operations | |
static OutlineCircle | clan::OutlineMath::minimum_enclosing_disc (const std::vector< Pointf > &points) |
Find minimum spanning circle for the set of points. More... | |
static void | clan::OutlineMath::minimum_enclosing_disc (OutlineCircle &smalldisc, const std::vector< Pointf > &points) |
static void | clan::OutlineMath::minimum_enclosing_sub_circle (OutlineCircle &smalldisc, const std::vector< Pointf > &points, float maxradius) |
|
inline |
Constructs a CollidingContours.
References clan::CollidingContours::points.
clan::CollisionOutline::CollisionOutline | ( | ) |
Construct a collision outline.
clan::CollisionOutline::CollisionOutline | ( | const PixelBuffer & | pbuf, |
int | alpha_limit = 128 , |
||
OutlineAccuracy | accuracy = accuracy_medium |
||
) |
Construct a collision outline.
pbuf | = Find alpha outline from a pixel buffer |
alpha_limit | = Alpha limit for pixels considered solid (collidable) |
accuracy | = Amount of optimization of the outline (default medium) |
clan::CollisionOutline::CollisionOutline | ( | const std::string & | fullname, |
int | alpha_limit = 128 , |
||
OutlineAccuracy | accuracy = accuracy_medium , |
||
bool | get_insides = true |
||
) |
Construct a collision outline.
fullname | = Full name |
alpha_limit | = value |
accuracy | = Outline Accuracy |
get_insides | = bool |
clan::CollisionOutline::CollisionOutline | ( | IODevice & | file, |
const std::string & | file_extension, | ||
int | alpha_limit = 128 , |
||
OutlineAccuracy | accuracy = accuracy_medium , |
||
bool | get_insides = true |
||
) |
Constructs a CollisionOutline.
file | = IODevice |
file_extension | = String |
alpha_limit | = value |
accuracy | = Outline Accuracy |
get_insides | = bool |
clan::CollisionOutline::CollisionOutline | ( | const std::string & | filename, |
const FileSystem & | file_system, | ||
int | alpha_limit = 128 , |
||
OutlineAccuracy | accuracy = accuracy_medium , |
||
bool | get_insides = true |
||
) |
Constructs a CollisionOutline.
filename | = String Ref |
directory | = Virtual Directory |
alpha_limit | = value |
accuracy | = Outline Accuracy |
get_insides | = bool |
clan::CollisionOutline::CollisionOutline | ( | const std::vector< Contour > & | contours, |
const Size & | size, | ||
OutlineAccuracy | accuracy | ||
) |
Construct a collision outline.
contours | = The contours |
size | = The size |
accuracy | = Outline Accuracy |
clan::Contour::Contour | ( | ) |
Construct a contour.
|
inline |
Construct a outline circle.
clan::CollisionOutline::~CollisionOutline | ( | ) |
clan::Contour::~Contour | ( | ) |
Contour clan::Contour::clone | ( | ) | const |
Makes a copy of the contour.
|
inline |
Construct a outline circle.
other | Other circle to test. |
References clan::OutlineCircle::position, clan::OutlineCircle::radius, clan::Vec2< Type >::x, and clan::Vec2< Type >::y.
std::vector<Pointf>& clan::Contour::get_points | ( | ) |
const std::vector<Pointf>& clan::Contour::get_points | ( | ) | const |
std::vector<OutlineCircle>& clan::Contour::get_sub_circles | ( | ) |
const std::vector<OutlineCircle>& clan::Contour::get_sub_circles | ( | ) | const |
bool clan::Contour::is_inside_contour | ( | ) | const |
|
static |
Loads a CollisionOutline from a XML resource definition.
|
static |
Find minimum spanning circle for the set of points.
points | the points to calulate on |
|
static |
|
static |
bool clan::Contour::operator!= | ( | const Contour & | other | ) | const |
Inequality operator.
bool clan::Contour::operator< | ( | const Contour & | other | ) | const |
Less than operator.
bool clan::Contour::operator== | ( | const Contour & | other | ) | const |
Equality operator.
|
static |
Retrieves a CollisionOutline from the resource manager.
gc | = Graphic Context |
resources | = Resource manager |
id | = id |
void clan::Contour::set_inside_contour | ( | bool | is_inside | ) |
Set inside contour.
is_inside | = bool |
const Contour* clan::CollidingContours::contour1 |
Pointf clan::CollidingContours::contour1_deep_point |
int clan::CollisionPoint::contour1_line_end |
int clan::CollisionPoint::contour1_line_start |
Indexes of intersecting lines on the contours.
const Contour* clan::CollidingContours::contour2 |
Pointf clan::CollidingContours::contour2_deep_point |
int clan::CollisionPoint::contour2_line_end |
int clan::CollisionPoint::contour2_line_start |
unsigned int clan::OutlineCircle::end |
bool clan::CollidingContours::inside |
bool clan::CollisionPoint::is_entry |
Every contour intersection has an entry and exit point. True, if this is an entry point.
Pointf clan::CollisionPoint::normal |
Normal vector at the point where the contours intersected.
float clan::CollidingContours::penetration_depth |
Pointf clan::CollidingContours::penetration_normal |
Pointf clan::CollisionPoint::point |
Coordinates of the point where the contours intersected.
std::vector<CollisionPoint> clan::CollidingContours::points |
Referenced by clan::CollidingContours::CollidingContours().
Pointf clan::OutlineCircle::position |
Referenced by clan::OutlineCircle::collide().
float clan::OutlineCircle::radius |
Referenced by clan::OutlineCircle::collide().
unsigned int clan::OutlineCircle::start |