|
Gnash
0.8.10
|
Defines an edge with a control point and an anchor point. More...
#include <Geometry.h>
Public Member Functions | |
| Edge () | |
| Edge (boost::int32_t cx, boost::int32_t cy, boost::int32_t ax, boost::int32_t ay) | |
| Edge (const Edge &from) | |
| Edge (const point &ncp, const point &nap) | |
| bool | straight () const |
| void | transform (const SWFMatrix &mat) |
| Transform the edge according to the given SWFMatrix. | |
Static Public Member Functions | |
| static double | squareDistancePtSeg (const point &p, const point &A, const point &B) |
| Return squared distance between point pt and segment A-B. | |
| static double | distancePtSeg (const point &pt, const point &A, const point &B) |
| Return distance between point pt and segment A-B. | |
| static point | pointOnCurve (const point &A, const point &C, const point &B, float t) |
| Find point of the quadratic curve defined by points A,C,B. | |
| static boost::int64_t | squareDistancePtCurve (const point &A, const point &C, const point &B, const point &p, float t) |
Public Attributes | |
| point | cp |
| point | ap |
Defines an edge with a control point and an anchor point.
Could be a quadratic bezier curve, or a straight line(degenerated curve).
| gnash::Edge::Edge | ( | ) | [inline] |
| gnash::Edge::Edge | ( | boost::int32_t | cx, |
| boost::int32_t | cy, | ||
| boost::int32_t | ax, | ||
| boost::int32_t | ay | ||
| ) | [inline] |
| gnash::Edge::Edge | ( | const Edge & | from | ) | [inline] |
| gnash::Edge::Edge | ( | const point & | ncp, |
| const point & | nap | ||
| ) | [inline] |
| static double gnash::Edge::distancePtSeg | ( | const point & | pt, |
| const point & | A, | ||
| const point & | B | ||
| ) | [inline, static] |
Return distance between point pt and segment A-B.
References squareDistancePtSeg().
| static point gnash::Edge::pointOnCurve | ( | const point & | A, |
| const point & | C, | ||
| const point & | B, | ||
| float | t | ||
| ) | [inline, static] |
Find point of the quadratic curve defined by points A,C,B.
| A | The first point |
| C | The second point (control point) |
| B | The third point (anchor point) |
| t | the step factor between 0 and 1 |
References gnash::key::R.
Referenced by squareDistancePtCurve(), and gnash::Path::withinSquareDistance().
| static boost::int64_t gnash::Edge::squareDistancePtCurve | ( | const point & | A, |
| const point & | C, | ||
| const point & | B, | ||
| const point & | p, | ||
| float | t | ||
| ) | [inline, static] |
Return square distance between point pt and the point on curve found by applying the T parameter to the quadratic bezier curve function
| A | The first point of the bezier curve |
| C | The second point of the bezier curve (control point) |
| B | The third point of the bezier curve (anchor point) |
| p | The point we want to compute distance from |
| t | the step factor between 0 and 1 |
References pointOnCurve(), and gnash::geometry::Point2d::squareDistance().
| static double gnash::Edge::squareDistancePtSeg | ( | const point & | p, |
| const point & | A, | ||
| const point & | B | ||
| ) | [inline, static] |
Return squared distance between point pt and segment A-B.
References gnash::geometry::Point2d::squareDistance(), gnash::key::u, gnash::geometry::Point2d::x, and gnash::geometry::Point2d::y.
Referenced by distancePtSeg(), and gnash::Path::withinSquareDistance().
| bool gnash::Edge::straight | ( | ) | const [inline] |
| void gnash::Edge::transform | ( | const SWFMatrix & | mat | ) | [inline] |
Transform the edge according to the given SWFMatrix.
References ap, cp, and gnash::SWFMatrix::transform().
1.7.6.1