LibreCAD
|
#include <geobezierbase.h>
Public Member Functions | |
BezierBase () | |
virtual | ~BezierBase () |
virtual const Area | boundingBox () const =0 |
boundingBox of the bezier More... | |
virtual Coordinate | nearestPointOnPath (const Coordinate &coord) const =0 |
nearestPointOnPath of the bezier More... | |
virtual Coordinate | nearestPointOnEntity (const Coordinate &coord) const =0 |
nearestPointOnEntity of the bezier More... | |
virtual Coordinate | CasteljauAt (std::vector< Coordinate > points, double t) const =0 |
CasteljauAt Coordinate of bezier at time t. More... | |
virtual const std::vector < Coordinate > | getCP () const =0 |
getCP Returns the control points of the bezier More... | |
virtual Coordinate | DirectValueAt (double t) const =0 |
DirectValueAt Coordinate of bezier at time t calculated numerically. More... | |
virtual const std::vector < Coordinate > | Curve (double precession)=0 |
Curve Creates a bezier curve for drawing with some precession value. More... | |
virtual const double | length () const =0 |
length of the Bezier More... | |
virtual const Coordinate | tangent (double t) const =0 |
tangent of the bezeir More... | |
virtual const Coordinate | normal (double t) const =0 |
normal of the bezier at time t More... | |
virtual std::vector< BB_CSPtr > | splitHalf () const =0 |
splitHalf Splits the bezier into two halves. More... | |
virtual BB_CSPtr | splitAtT (double t) const =0 |
splitAtT Splits bezier at specific time. More... | |
virtual BB_CSPtr | offset (const geo::Coordinate &offset) const =0 |
offset offsets the bezier. More... | |
virtual BB_CSPtr | rotate (const geo::Coordinate ¢er, double angle) const =0 |
rotate the bezier at specific center and some angle More... | |
virtual BB_CSPtr | scale (const geo::Coordinate ¢er, const geo::Coordinate &factor) const =0 |
scale the bezier at specific center by some factor More... | |
virtual BB_CSPtr | move (const geo::Coordinate &offset) const =0 |
move the bezeir by some offset More... | |
virtual BB_CSPtr | mirror (const geo::Coordinate &axis1, const geo::Coordinate &axis2) const =0 |
mirror a bezier around a line More... | |
virtual void | accept (GeoEntityVisitor &v) const override |
virtual std::vector< double > | nearestPointTValue (const Coordinate &coord) const =0 |
virtual const lc::geo::Coordinate | returnCasesForNearestPoint (double min_distance, const lc::geo::Coordinate &coord, const Coordinate &ret) const =0 |
![]() | |
virtual | ~Base ()=default |
![]() | |
virtual | ~Visitable ()=default |
Definition at line 18 of file geobezierbase.h.
|
inline |
Definition at line 21 of file geobezierbase.h.
|
inlinevirtual |
Definition at line 22 of file geobezierbase.h.
|
inlineoverridevirtual |
|
pure virtual |
boundingBox of the bezier
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
CasteljauAt Coordinate of bezier at time t.
points | Vector of CP of bezier |
t | Time t |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
Curve Creates a bezier curve for drawing with some precession value.
precession | of the curve |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
DirectValueAt Coordinate of bezier at time t calculated numerically.
t | Time t |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
getCP Returns the control points of the bezier
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
|
pure virtual |
mirror a bezier around a line
axis1 | first coordinate of line to be mirrored about |
axis2 | second coordinate of line to be mirrored about |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
move the bezeir by some offset
offset | coordinate of move |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
nearestPointOnEntity of the bezier
coord | Coordinate to be compared with |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
nearestPointOnPath of the bezier
coord | Coordinate to be compared with |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
normal of the bezier at time t
t | time t |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
offset offsets the bezier.
offset | offsect coordinate |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
rotate the bezier at specific center and some angle
center | of rotation |
angle | of rotation |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
scale the bezier at specific center by some factor
center | of scale |
factor | of scale |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
splitAtT Splits bezier at specific time.
t | Time t |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
splitHalf Splits the bezier into two halves.
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.
|
pure virtual |
tangent of the bezeir
t | time T |
Implemented in lc::geo::Bezier, and lc::geo::CubicBezier.