Flattens a Path object into a series of straight-line sections.
More...
#include <juce_PathIterator.h>
|
| bool | closesSubPath |
| | Indicates whether the current line segment is closing a sub-path. More...
|
| |
| int | subPathIndex |
| | The index of the current line within the current sub-path. More...
|
| |
| float | x1 |
| | The x position of the start of the current line segment. More...
|
| |
| float | x2 |
| | The x position of the end of the current line segment. More...
|
| |
| float | y1 |
| | The y position of the start of the current line segment. More...
|
| |
| float | y2 |
| | The y position of the end of the current line segment. More...
|
| |
Flattens a Path object into a series of straight-line sections.
Use one of these to iterate through a Path object, and it will convert all the curves into line sections so it's easy to render or perform geometric operations on.
- See also
- Path
◆ PathFlatteningIterator()
Creates a PathFlatteningIterator.
After creation, use the next() method to initialise the fields in the object with the first line's position.
- Parameters
-
| path | the path to iterate along |
| transform | a transform to apply to each point in the path being iterated |
| tolerance | the amount by which the curves are allowed to deviate from the lines into which they are being broken down - a higher tolerance contains less lines, so can be generated faster, but will be less smooth. |
◆ ~PathFlatteningIterator()
| PathFlatteningIterator::~PathFlatteningIterator |
( |
| ) |
|
◆ isLastInSubpath()
| bool PathFlatteningIterator::isLastInSubpath |
( |
| ) |
const |
|
noexcept |
Returns true if the current segment is the last in the current sub-path.
◆ next()
| bool PathFlatteningIterator::next |
( |
| ) |
|
Fetches the next line segment from the path.
This will update the member variables x1, y1, x2, y2, subPathIndex and closesSubPath so that they describe the new line segment.
- Returns
- false when there are no more lines to fetch.
◆ closesSubPath
| bool PathFlatteningIterator::closesSubPath |
Indicates whether the current line segment is closing a sub-path.
If the current line is the one that connects the end of a sub-path back to the start again, this will be true.
◆ index
| size_t PathFlatteningIterator::index = 0 |
|
private |
◆ isIdentityTransform
| const bool PathFlatteningIterator::isIdentityTransform |
|
private |
◆ path
| const Path& PathFlatteningIterator::path |
|
private |
◆ points
| float* PathFlatteningIterator::points |
|
private |
◆ stackBase
| HeapBlock<float> PathFlatteningIterator::stackBase { 32 } |
|
private |
◆ stackPos
| float* PathFlatteningIterator::stackPos |
|
private |
◆ stackSize
| size_t PathFlatteningIterator::stackSize = 32 |
|
private |
◆ subPathCloseX
| float PathFlatteningIterator::subPathCloseX = 0 |
|
private |
◆ subPathCloseY
| float PathFlatteningIterator::subPathCloseY = 0 |
|
private |
◆ subPathIndex
| int PathFlatteningIterator::subPathIndex |
The index of the current line within the current sub-path.
E.g. you can use this to see whether the line is the first one in the subpath by seeing if it's 0.
◆ toleranceSquared
| const float PathFlatteningIterator::toleranceSquared |
|
private |
◆ transform
◆ x1
| float PathFlatteningIterator::x1 |
The x position of the start of the current line segment.
◆ x2
| float PathFlatteningIterator::x2 |
The x position of the end of the current line segment.
◆ y1
| float PathFlatteningIterator::y1 |
The y position of the start of the current line segment.
◆ y2
| float PathFlatteningIterator::y2 |
The y position of the end of the current line segment.
The documentation for this class was generated from the following file: