10 #ifndef IWORKPATH_H_INCLUDED 11 #define IWORKPATH_H_INCLUDED 17 #include <glm/glm.hpp> 19 #include <librevenge/librevenge.h> 50 void appendCCurveTo(
double x1,
double y1,
double x2,
double y2,
double x,
double y);
53 void closePath(
bool closeOnlyIsSamePoint=
true);
54 void computeBoundingBox(
double &minX,
double &minY,
double &maxX,
double &maxY,
double factor=1)
const;
70 void write(librevenge::RVNGPropertyListVector &vec,
double deltaX=0,
double deltaY=0)
const;
100 #endif // IWORKPATH_H_INCLUDED Definition: IWORKBezierElement.cpp:20
Definition: IWORKToken.h:365
IWORKPath operator*(const IWORKPath &path, const glm::dmat3 &tr)
Create a transformed path.
void write(librevenge::RVNGPropertyListVector &vec, double deltaX=0, double deltaY=0) const
Create librevenge representation of this path.
double y
Definition: IWORKShape.cpp:47
void swap(IWORKPath &other)
void computeBoundingBox(double &minX, double &minY, double &maxX, double &maxY, double factor=1) const
boost::optional< IWORKPosition > m_positions[3]
Definition: IWORKPath.h:93
boost::optional< IWORKSize > m_size
Definition: IWORKPath.h:94
void operator*=(const glm::dmat3 &tr)
Transform all elements of the path.
Definition: IWORKToken.h:575
void appendQCurveTo(double x1, double y1, double x, double y)
bool approxEqual(const IWORKPath &left, const IWORKPath &right, double eps=ETONYEK_EPSILON)
double x
Definition: IWORKShape.cpp:46
void appendMoveTo(double x, double y)
const std::string str() const
IWORKPathPtr_t getPath() const
Definition: IWORKPath.h:28
Definition: KEY1Token.h:206
Definition: IWORKPath.h:34
Definition: IWORKToken.h:604
void closePath(bool closeOnlyIsSamePoint=true)
bool operator==(const IWORKPath &left, const IWORKPath &right)
std::shared_ptr< Impl > m_impl
Definition: IWORKPath.h:72
bool m_isSpline
Definition: IWORKPath.h:95
void appendLineTo(double x, double y)
Definition: IWORKPath.h:87
bool operator!=(const IWORKPath &left, const IWORKPath &right)
Definition: IWORKToken.h:418
#define ETONYEK_EPSILON
Definition: libetonyek_utils.h:26
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:20
Definition: IWORKPath.cpp:78
void appendCCurveTo(double x1, double y1, double x2, double y2, double x, double y)
friend bool approxEqual(const IWORKPath &left, const IWORKPath &right, const double eps)
IWORKPath & operator=(const IWORKPath &other)