15 using BB_CSPtr = std::shared_ptr<const BezierBase>;
16 using BB_SPtr = std::shared_ptr<BezierBase>;
56 virtual const std::vector<Coordinate>
getCP()
const = 0;
70 virtual const std::vector<Coordinate>
Curve(
double precession) = 0;
76 virtual const double length()
const = 0;
96 virtual std::vector<BB_CSPtr>
splitHalf()
const = 0;
std::shared_ptr< BezierBase > BB_SPtr
virtual std::vector< double > nearestPointTValue(const Coordinate &coord) const =0
virtual Coordinate DirectValueAt(double t) const =0
DirectValueAt Coordinate of bezier at time t calculated numerically.
virtual void accept(GeoEntityVisitor &v) const override
virtual const Coordinate tangent(double t) const =0
tangent of the bezeir
virtual BB_CSPtr splitAtT(double t) const =0
splitAtT Splits bezier at specific time.
virtual const std::vector< Coordinate > Curve(double precession)=0
Curve Creates a bezier curve for drawing with some precession value.
virtual const lc::geo::Coordinate returnCasesForNearestPoint(double min_distance, const lc::geo::Coordinate &coord, const Coordinate &ret) const =0
virtual BB_CSPtr move(const geo::Coordinate &offset) const =0
move the bezeir by some offset
std::shared_ptr< const BezierBase > BB_CSPtr
virtual const Coordinate normal(double t) const =0
normal of the bezier at time t
virtual const Area boundingBox() const =0
boundingBox of the bezier
virtual Coordinate nearestPointOnEntity(const Coordinate &coord) const =0
nearestPointOnEntity of the bezier
virtual BB_CSPtr mirror(const geo::Coordinate &axis1, const geo::Coordinate &axis2) const =0
mirror a bezier around a line
virtual Coordinate nearestPointOnPath(const Coordinate &coord) const =0
nearestPointOnPath of the bezier
virtual Coordinate CasteljauAt(std::vector< Coordinate > points, double t) const =0
CasteljauAt Coordinate of bezier at time t.
virtual BB_CSPtr rotate(const geo::Coordinate ¢er, double angle) const =0
rotate the bezier at specific center and some angle
virtual const double length() const =0
length of the Bezier
virtual BB_CSPtr scale(const geo::Coordinate ¢er, const geo::Coordinate &factor) const =0
scale the bezier at specific center by some factor
virtual const std::vector< Coordinate > getCP() const =0
getCP Returns the control points of the bezier
virtual std::vector< BB_CSPtr > splitHalf() const =0
splitHalf Splits the bezier into two halves.
virtual BB_CSPtr offset(const geo::Coordinate &offset) const =0
offset offsets the bezier.