![]() |
OpenSiv3D
v0.6.5
C++20 framework for creative coding
|
#include <Spline2D.hpp>
Classes | |
struct | CSpline2 |
Public Member Functions | |
SIV3D_NODISCARD_CXX20 | Spline2D ()=default |
SIV3D_NODISCARD_CXX20 | Spline2D (const Array< Vec2 > &points, double tension=0.0) |
SIV3D_NODISCARD_CXX20 | Spline2D (const Array< Vec2 > &points, CloseRing closeRing, double tension=0.0) |
size_t | size () const noexcept |
bool | isEmpty () const noexcept |
operator bool () const noexcept | |
bool | isRing () const noexcept |
void | clear () noexcept |
void | swap (Spline2D &other) noexcept |
RectF | fastBoundingRect (size_t i) const |
RectF | boundingRect (size_t i) const |
double | length (size_t i, double maxError=0.01) const |
double | length (size_t i, double t0, double t1, double maxError=0.01) const |
Vec2 | position (size_t i, double t) const |
Vec2 | position (SplineIndex si) const |
Vec2 | velocity (size_t i, double t) const |
Vec2 | velocity (SplineIndex si) const |
Vec2 | acceleration (size_t i, double t) const |
Vec2 | acceleration (SplineIndex si) const |
double | curvature (size_t i, double t) const |
double | curvature (SplineIndex si) const |
SplineIndex | findNearest (Vec2 pos) const |
Array< std::pair< SplineIndex, SplineIndex > > | findSelfIntersections (double tolerance=0.1) const |
Array< std::pair< SplineIndex, SplineIndex > > | findIntersections (const Spline2D &other, double tolerance=0.1) const |
SplineIndex | advance (SplineIndex si, double dl) const |
SplineIndex | advanceWrap (SplineIndex si, double dl) const |
SplineIndex | advanceMirror (SplineIndex si, double dl, int32 &direction) const |
LineString | asLineString (int32 quality=24) const |
Polygon | calculateRoundBuffer (double distance, int32 quality=24, int32 bufferQuality=24) const |
const Spline2D & | draw (const ColorF &color=Palette::White, int32 quality=24) const |
const Spline2D & | draw (double thickness, const ColorF &color=Palette::White, int32 quality=24) const |
const Spline2D & | draw (double thickness, std::function< ColorF(SplineIndex)> colorFunc, int32 quality=24) const |
const Spline2D & | draw (const LineStyle &style, double thickness, const ColorF &color=Palette::White, int32 quality=24) const |
|
default |
|
explicit |
SIV3D_NODISCARD_CXX20 s3d::Spline2D::Spline2D | ( | const Array< Vec2 > & | points, |
CloseRing | closeRing, | ||
double | tension = 0.0 |
||
) |
Vec2 s3d::Spline2D::acceleration | ( | size_t | i, |
double | t | ||
) | const |
Vec2 s3d::Spline2D::acceleration | ( | SplineIndex | si | ) | const |
SplineIndex s3d::Spline2D::advance | ( | SplineIndex | si, |
double | dl | ||
) | const |
SplineIndex s3d::Spline2D::advanceMirror | ( | SplineIndex | si, |
double | dl, | ||
int32 & | direction | ||
) | const |
SplineIndex s3d::Spline2D::advanceWrap | ( | SplineIndex | si, |
double | dl | ||
) | const |
LineString s3d::Spline2D::asLineString | ( | int32 | quality = 24 | ) | const |
RectF s3d::Spline2D::boundingRect | ( | size_t | i | ) | const |
Polygon s3d::Spline2D::calculateRoundBuffer | ( | double | distance, |
int32 | quality = 24 , |
||
int32 | bufferQuality = 24 |
||
) | const |
|
noexcept |
double s3d::Spline2D::curvature | ( | size_t | i, |
double | t | ||
) | const |
double s3d::Spline2D::curvature | ( | SplineIndex | si | ) | const |
const Spline2D& s3d::Spline2D::draw | ( | const ColorF & | color = Palette::White , |
int32 | quality = 24 |
||
) | const |
const Spline2D& s3d::Spline2D::draw | ( | const LineStyle & | style, |
double | thickness, | ||
const ColorF & | color = Palette::White , |
||
int32 | quality = 24 |
||
) | const |
const Spline2D& s3d::Spline2D::draw | ( | double | thickness, |
const ColorF & | color = Palette::White , |
||
int32 | quality = 24 |
||
) | const |
const Spline2D& s3d::Spline2D::draw | ( | double | thickness, |
std::function< ColorF(SplineIndex)> | colorFunc, | ||
int32 | quality = 24 |
||
) | const |
RectF s3d::Spline2D::fastBoundingRect | ( | size_t | i | ) | const |
Array<std::pair<SplineIndex, SplineIndex> > s3d::Spline2D::findIntersections | ( | const Spline2D & | other, |
double | tolerance = 0.1 |
||
) | const |
SplineIndex s3d::Spline2D::findNearest | ( | Vec2 | pos | ) | const |
Array<std::pair<SplineIndex, SplineIndex> > s3d::Spline2D::findSelfIntersections | ( | double | tolerance = 0.1 | ) | const |
|
noexcept |
|
noexcept |
double s3d::Spline2D::length | ( | size_t | i, |
double | maxError = 0.01 |
||
) | const |
double s3d::Spline2D::length | ( | size_t | i, |
double | t0, | ||
double | t1, | ||
double | maxError = 0.01 |
||
) | const |
|
explicitnoexcept |
Vec2 s3d::Spline2D::position | ( | size_t | i, |
double | t | ||
) | const |
Vec2 s3d::Spline2D::position | ( | SplineIndex | si | ) | const |
|
noexcept |
|
noexcept |
Vec2 s3d::Spline2D::velocity | ( | size_t | i, |
double | t | ||
) | const |
Vec2 s3d::Spline2D::velocity | ( | SplineIndex | si | ) | const |