#include <path_component.h>
Public Member Functions | |
| CubicPathComponent () | |
| CubicPathComponent (const QuadraticPathComponent &q) | |
| CubicPathComponent (Point ap1, Point acp1, Point acp2, Point ap2) | |
| Point | Solve (Scalar time) const |
| Point | SolveDerivative (Scalar time) const |
| std::vector< Point > | CreatePolyline (Scalar scale) const |
| std::vector< Point > | Extrema () const |
| std::vector< QuadraticPathComponent > | ToQuadraticPathComponents (Scalar accuracy) const |
| CubicPathComponent | Subsegment (Scalar t0, Scalar t1) const |
| bool | operator== (const CubicPathComponent &other) const |
| std::optional< Vector2 > | GetStartDirection () const |
| std::optional< Vector2 > | GetEndDirection () const |
Public Attributes | |
| Point | p1 |
| Point | cp1 |
| Point | cp2 |
| Point | p2 |
Definition at line 90 of file path_component.h.
|
inline |
|
inline |
Definition at line 190 of file path_component.cc.
References ToQuadraticPathComponents().
Referenced by impeller::testing::TEST().
| std::vector< Point > impeller::CubicPathComponent::Extrema | ( | ) | const |
Definition at line 310 of file path_component.cc.
References cp1, cp2, impeller::CubicPathBoundingPopulateValues(), p1, p2, Solve(), impeller::TPoint< T >::x, and impeller::TPoint< T >::y.
Referenced by impeller::QuadraticPathComponent::Extrema(), and impeller::testing::TEST().
| std::optional< Vector2 > impeller::CubicPathComponent::GetEndDirection | ( | ) | const |
Definition at line 341 of file path_component.cc.
References cp1, cp2, p1, and p2.
Referenced by impeller::PathComponentEndDirectionVisitor::operator()().
| std::optional< Vector2 > impeller::CubicPathComponent::GetStartDirection | ( | ) | const |
Definition at line 328 of file path_component.cc.
References cp1, cp2, p1, and p2.
Referenced by impeller::PathComponentStartDirectionVisitor::operator()().
|
inline |
Definition at line 176 of file path_component.cc.
References cp1, cp2, impeller::CubicSolve(), p1, p2, impeller::TPoint< T >::x, and impeller::TPoint< T >::y.
Referenced by Extrema(), and Subsegment().
Definition at line 183 of file path_component.cc.
References cp1, cp2, impeller::CubicSolveDerivative(), p1, p2, impeller::TPoint< T >::x, and impeller::TPoint< T >::y.
| CubicPathComponent impeller::CubicPathComponent::Subsegment | ( | Scalar | t0, |
| Scalar | t1 | ||
| ) | const |
Definition at line 204 of file path_component.cc.
References CubicPathComponent(), p1, p2, and Solve().
Referenced by ToQuadraticPathComponents().
| std::vector< QuadraticPathComponent > impeller::CubicPathComponent::ToQuadraticPathComponents | ( | Scalar | accuracy | ) | const |
Definition at line 215 of file path_component.cc.
References cp1, cp2, impeller::TPoint< T >::Dot(), p1, p2, and Subsegment().
Referenced by CreatePolyline().
| Point impeller::CubicPathComponent::cp1 |
Definition at line 92 of file path_component.h.
Referenced by Extrema(), GetEndDirection(), GetStartDirection(), operator==(), Solve(), SolveDerivative(), impeller::testing::TEST(), and ToQuadraticPathComponents().
| Point impeller::CubicPathComponent::cp2 |
Definition at line 93 of file path_component.h.
Referenced by Extrema(), GetEndDirection(), GetStartDirection(), operator==(), Solve(), SolveDerivative(), impeller::testing::TEST(), and ToQuadraticPathComponents().
| Point impeller::CubicPathComponent::p1 |
Definition at line 91 of file path_component.h.
Referenced by Extrema(), GetEndDirection(), GetStartDirection(), operator==(), Solve(), SolveDerivative(), Subsegment(), impeller::testing::TEST(), and ToQuadraticPathComponents().
| Point impeller::CubicPathComponent::p2 |
Definition at line 94 of file path_component.h.
Referenced by Extrema(), GetEndDirection(), GetStartDirection(), operator==(), Solve(), SolveDerivative(), Subsegment(), impeller::testing::TEST(), and ToQuadraticPathComponents().