 |
Flutter Impeller
|
|
Go to the documentation of this file.
39 std::vector<Point>
Extrema()
const;
42 return p1 == other.
p1 &&
p2 == other.
p2;
58 :
p1(ap1),
cp(acp),
p2(ap2) {}
77 Scalar scale_factor)
const;
79 std::vector<Point>
Extrema()
const;
82 return p1 == other.
p1 &&
cp == other.
cp &&
p2 == other.
p2;
100 cp1(q.
p1 + (q.cp - q.
p1) * (2.0 / 3.0)),
101 cp2(q.
p2 + (q.cp - q.
p2) * (2.0 / 3.0)),
117 std::vector<Point>
Extrema()
const;
152 const LinearPathComponent*,
153 const QuadraticPathComponent*,
160 std::optional<Vector2>
operator()(std::monostate monostate) {
169 std::optional<Vector2>
operator()(std::monostate monostate) {
174 static_assert(!std::is_polymorphic<LinearPathComponent>::value);
175 static_assert(!std::is_polymorphic<QuadraticPathComponent>::value);
176 static_assert(!std::is_polymorphic<CubicPathComponent>::value);
std::vector< Point > CreatePolyline(Scalar scale) const
std::vector< Point > CreatePolyline(Scalar scale) const
std::vector< Point > CreatePolyline() const
static constexpr Scalar kDefaultCurveTolerance
std::optional< Vector2 > operator()(std::monostate monostate)
CubicPathComponent Subsegment(Scalar t0, Scalar t1) const
bool operator==(const QuadraticPathComponent &other) const
std::optional< Vector2 > GetStartDirection() const
std::optional< Vector2 > GetStartDirection() const
ContourComponent(Point p, bool is_closed=false)
Point Solve(Scalar time) const
std::optional< Vector2 > operator()(const LinearPathComponent *component)
std::optional< Vector2 > GetEndDirection() const
bool operator==(const ContourComponent &other) const
Point SolveDerivative(Scalar time) const
QuadraticPathComponent(Point ap1, Point acp, Point ap2)
std::optional< Vector2 > GetStartDirection() const
Point Solve(Scalar time) const
std::vector< QuadraticPathComponent > ToQuadraticPathComponents(Scalar accuracy) const
bool operator==(const LinearPathComponent &other) const
bool operator==(const CubicPathComponent &other) const
Point SolveDerivative(Scalar time) const
LinearPathComponent(Point ap1, Point ap2)
std::vector< Point > Extrema() const
std::optional< Vector2 > GetEndDirection() const
CubicPathComponent(const QuadraticPathComponent &q)
std::optional< Vector2 > operator()(const LinearPathComponent *component)
std::vector< Point > Extrema() const
std::variant< std::monostate, const LinearPathComponent *, const QuadraticPathComponent *, const CubicPathComponent * > PathComponentVariant
std::optional< Vector2 > operator()(std::monostate monostate)
std::optional< Vector2 > GetEndDirection() const
void FillPointsForPolyline(std::vector< Point > &points, Scalar scale_factor) const
Point Solve(Scalar time) const
std::vector< Point > Extrema() const
CubicPathComponent(Point ap1, Point acp1, Point acp2, Point ap2)