FastUIDraw
|
Interpolator generic implements tessellation by recursion and relying on analytic derivative provided by derived class. More...
#include <path.hpp>
Classes | |
class | tessellated_region |
Additional Inherited Members | |
Static Public Member Functions inherited from fastuidraw::reference_counted_base< T, Counter > | |
static void | add_reference (const reference_counted_base< T, Counter > *p) |
static void | remove_reference (const reference_counted_base< T, Counter > *p) |
Interpolator generic implements tessellation by recursion and relying on analytic derivative provided by derived class.
|
inline |
Ctor.
contour | PathContour to which the interpolator is added, the start point of the interpolator will be ending point of PathContour::prev_interpolator(). |
end | end point of the edge of this interpolator |
tp | nature the edge represented by this interpolator_base |
|
pure virtual |
To be implemented by a derived class to return a reasonable lower bound on the needed number of times the edge should be cut in half in order to capture its shape.
Implemented in fastuidraw::PathContour::bezier.
|
virtual |
To be implemented by a derived class to produce the arc-tessellation from start_pt() to end_pt(). In addition, for recursive tessellation, returns the tessellation state to be queried for recursion depth and reused to refine the tessellation. If the tessellation routine is not recursive in nature, return nullptr.
tess_params | tessellation parameters |
out_data | location to which to write the tessellations |
out_max_distance | location to which to write an upperbound for the distance between the curve and the tesseallation approximation. |
Implements fastuidraw::PathContour::interpolator_base.
|
pure virtual |
To be implemented by a derived to assist in recursive tessellation.
in_region | region to divide in half, a nullptr value indicates that the region is the entire interpolator. |
out_regionA | location to which to write the first half |
out_regionB | location to which to write the second half |
out_p | location to which to write the position of the point on the curve in the middle (with repsect to time) of in_region |
Implemented in fastuidraw::PathContour::bezier.