|
MIRA
|
Namespaces | |
| rpc | |
Classes | |
| struct | ActiveEdgeCuts |
| struct | ArgumentTuple |
| struct | ConcreteRPCInvoker |
| class | EdgeCuts |
| class | FunctionTraits |
| struct | FunctionTraits< F & > |
| struct | FunctionTraits< F && > |
| class | FunctionTraits< F, typename std::enable_if< Private::HasParenthesis< F >::value >::type > |
| struct | FunctionTraits< R(*)(Args...)> |
| class | FunctionTraits< R(Args...)> |
| class | FunctionTraits< R(C::*)(Args...) const > |
| class | FunctionTraits< R(C::*)(Args...)> |
| class | FunctionTraits< R(C::*)> |
| class | HasParenthesis |
| struct | Interval |
| class | Intervals |
| class | MemberInvoker |
| struct | RPCInvokeHelper |
| struct | RPCInvokeHelper< void > |
Typedefs | |
| template<typename P > | |
| using | StrippedType = typename std::remove_const< typename std::remove_reference< P >::type >::type |
Functions | |
| template<class Visitor > | |
| bool | processActiveEdges (ActiveEdgeCuts &activeEdges, const Rect2i ®ion, Visitor &visitor) |
| Process all active edges at current y, advance y, remove any edges that are finished, then return. More... | |
| template<class Visitor > | |
| bool | processTwoActiveEdges (ActiveEdgeCuts &activeEdges, const Rect2i ®ion, Visitor &visitor, const int nextY) |
| Optimization of processActiveEdges() for exactly 2 active edges: None of them can finish before another edge gets active (or the polygon is done) - designated by nextY. More... | |
| template<class Visitor > | |
| bool | processIntervals (const ActiveEdgeCuts &activeEdges, Intervals &intervals, const Rect2i ®ion, Visitor &visitor, uint precision) |
| template<class Visitor > | |
| bool | processActiveEdges (ActiveEdgeCuts &activeEdges, Intervals &intervals, const Rect2i ®ion, Visitor &visitor, uint precision) |
| See above. More... | |
| template<class Visitor > | |
| bool | processTwoActiveEdges (ActiveEdgeCuts &activeEdges, Intervals &intervals, const Rect2i ®ion, Visitor &visitor, const uint precision, const int nextY) |
| See above. More... | |
| Point2f | roundAwayFromGrid (Point2f point) |
| void | processEdge (const Point2f ¤t, const Point2f &prev, std::vector< EdgeCuts > &cuts) |
| template<class Transformation > | |
| std::vector< EdgeCuts > | createEdgeList (const Polygon2f &polygon, Transformation &&F) |
| bool | intervalsOverlap (const Interval &interval1, const Interval &interval2) |
| int | scaleDown (int numToRound, int multiple) |
| bool | compareCurrentCut (const EdgeCuts &a, const EdgeCuts &b) |
| void | removeEmptyEdges (ActiveEdgeCuts &activeEdges) |
| move empty edges to front of container (and continue behind them) More... | |
| void | advanceEdgeCuts (ActiveEdgeCuts &activeEdges) |
| advance edge cuts, move empty edges to front of container (and continue behind them) More... | |
| template<class Visitor > | |
| bool | visitInterval (int x_start, int x_end, int y, Visitor &visitor) |
| template<typename Backend , typename T > | |
| StrippedType< T > | getFromRequest (typename Backend::ServerRequest &request) |
| template<typename Response > | |
| void | throwRPCException (Response &response) |
| template<typename A , typename B > | |
| static constexpr bool | isConstr () |
| using StrippedType = typename std::remove_const<typename std::remove_reference<P>::type>::type |
| bool mira::Private::processActiveEdges | ( | ActiveEdgeCuts & | activeEdges, |
| const Rect2i & | region, | ||
| Visitor & | visitor | ||
| ) |
Process all active edges at current y, advance y, remove any edges that are finished, then return.
Gets called for each y by an external loop.
| bool mira::Private::processTwoActiveEdges | ( | ActiveEdgeCuts & | activeEdges, |
| const Rect2i & | region, | ||
| Visitor & | visitor, | ||
| const int | nextY | ||
| ) |
Optimization of processActiveEdges() for exactly 2 active edges: None of them can finish before another edge gets active (or the polygon is done) - designated by nextY.
Simply loop over y till reaching that point and finally remove finished edges just once.
| bool mira::Private::processIntervals | ( | const ActiveEdgeCuts & | activeEdges, |
| Intervals & | intervals, | ||
| const Rect2i & | region, | ||
| Visitor & | visitor, | ||
| uint | precision | ||
| ) |
| bool mira::Private::processActiveEdges | ( | ActiveEdgeCuts & | activeEdges, |
| Intervals & | intervals, | ||
| const Rect2i & | region, | ||
| Visitor & | visitor, | ||
| uint | precision | ||
| ) |
See above.
| bool mira::Private::processTwoActiveEdges | ( | ActiveEdgeCuts & | activeEdges, |
| Intervals & | intervals, | ||
| const Rect2i & | region, | ||
| Visitor & | visitor, | ||
| const uint | precision, | ||
| const int | nextY | ||
| ) |
See above.
|
inline |
| std::vector<EdgeCuts> mira::Private::createEdgeList | ( | const Polygon2f & | polygon, |
| Transformation && | F | ||
| ) |
|
inline |
|
inline |
|
inline |
move empty edges to front of container (and continue behind them)
|
inline |
advance edge cuts, move empty edges to front of container (and continue behind them)
| bool mira::Private::visitInterval | ( | int | x_start, |
| int | x_end, | ||
| int | y, | ||
| Visitor & | visitor | ||
| ) |
| StrippedType<T> mira::Private::getFromRequest | ( | typename Backend::ServerRequest & | request | ) |
| void mira::Private::throwRPCException | ( | Response & | response | ) |
|
static |
1.8.14