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
const std::string str() const
Definition: IWORKPath.cpp:785
IWORKPathPtr_t getPath() const
Definition: IWORKPath.cpp:856
void operator*=(const glm::dmat3 &tr)
Transform all elements of the path.
Definition: IWORKPath.cpp:666
Definition: IWORKToken.h:365
IWORKPath operator*(const IWORKPath &path, const glm::dmat3 &tr)
Create a transformed path.
void clear()
Definition: IWORKPath.cpp:589
void appendLineTo(double x, double y)
Definition: IWORKPath.cpp:615
double y
Definition: IWORKShape.cpp:47
void swap(IWORKPath &other)
Definition: IWORKPath.cpp:584
boost::optional< IWORKPosition > m_positions[3]
Definition: IWORKPath.h:93
boost::optional< IWORKSize > m_size
Definition: IWORKPath.h:94
Definition: IWORKToken.h:575
void computeBoundingBox(double &minX, double &minY, double &maxX, double &maxY, double factor=1) const
Definition: IWORKPath.cpp:675
bool approxEqual(const IWORKPath &left, const IWORKPath &right, double eps=ETONYEK_EPSILON)
double x
Definition: IWORKShape.cpp:46
void appendClose()
Definition: IWORKPath.cpp:651
void closePath(bool closeOnlyIsSamePoint=true)
Definition: IWORKPath.cpp:736
void appendCCurveTo(double x1, double y1, double x2, double y2, double x, double y)
Definition: IWORKPath.cpp:625
Definition: IWORKPath.h:28
Definition: KEY1Token.h:206
Definition: IWORKPath.h:34
void appendQCurveTo(double x1, double y1, double x, double y)
Definition: IWORKPath.cpp:639
IWORKPath()
Definition: IWORKPath.cpp:553
Definition: IWORKToken.h:604
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
Definition: IWORKPath.h:87
bool operator!=(const IWORKPath &left, const IWORKPath &right)
bool empty() const
Definition: IWORKPath.cpp:595
Definition: IWORKToken.h:418
void appendMoveTo(double x, double y)
Definition: IWORKPath.cpp:600
#define ETONYEK_EPSILON
Definition: libetonyek_utils.h:26
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:20
Definition: IWORKPath.cpp:78
IWORKConnectionPath()
Definition: IWORKPath.cpp:850
friend bool approxEqual(const IWORKPath &left, const IWORKPath &right, const double eps)
IWORKPath & operator=(const IWORKPath &other)
Definition: IWORKPath.cpp:577
bool isRectangle() const
Definition: IWORKPath.cpp:689
void write(librevenge::RVNGPropertyListVector &vec, double deltaX=0, double deltaY=0) const
Create librevenge representation of this path.
Definition: IWORKPath.cpp:805