10 #ifndef IWORKPATH_H_INCLUDED
11 #define IWORKPATH_H_INCLUDED
17 #include <glm/glm.hpp>
19 #include <librevenge/librevenge.h>
49 void appendCCurveTo(
double x1,
double y1,
double x2,
double y2,
double x,
double y);
52 void closePath(
bool closeOnlyIsSamePoint=
true);
53 void computeBoundingBox(
double &minX,
double &minY,
double &maxX,
double &maxY,
double factor=1)
const;
69 void write(librevenge::RVNGPropertyListVector &vec,
double deltaX=0,
double deltaY=0)
const;
99 #endif // IWORKPATH_H_INCLUDED
const std::string str() const
Definition: IWORKPath.cpp:782
IWORKPathPtr_t getPath() const
Definition: IWORKPath.cpp:853
void operator*=(const glm::dmat3 &tr)
Transform all elements of the path.
Definition: IWORKPath.cpp:663
Definition: IWORKToken.h:358
IWORKPath operator*(const IWORKPath &path, const glm::dmat3 &tr)
Create a transformed path.
void clear()
Definition: IWORKPath.cpp:591
void appendLineTo(double x, double y)
Definition: IWORKPath.cpp:612
double y
Definition: IWORKShape.cpp:46
void swap(IWORKPath &other)
Definition: IWORKPath.cpp:586
boost::optional< IWORKPosition > m_positions[3]
Definition: IWORKPath.h:92
boost::optional< IWORKSize > m_size
Definition: IWORKPath.h:93
Definition: IWORKToken.h:568
void computeBoundingBox(double &minX, double &minY, double &maxX, double &maxY, double factor=1) const
Definition: IWORKPath.cpp:672
bool approxEqual(const IWORKPath &left, const IWORKPath &right, double eps=ETONYEK_EPSILON)
double x
Definition: IWORKShape.cpp:45
void appendClose()
Definition: IWORKPath.cpp:648
void closePath(bool closeOnlyIsSamePoint=true)
Definition: IWORKPath.cpp:733
void appendCCurveTo(double x1, double y1, double x2, double y2, double x, double y)
Definition: IWORKPath.cpp:622
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:636
IWORKPath()
Definition: IWORKPath.cpp:555
Definition: IWORKToken.h:597
bool operator==(const IWORKPath &left, const IWORKPath &right)
std::shared_ptr< Impl > m_impl
Definition: IWORKPath.h:71
bool m_isSpline
Definition: IWORKPath.h:94
Definition: IWORKPath.h:86
bool operator!=(const IWORKPath &left, const IWORKPath &right)
Definition: IWORKToken.h:411
void appendMoveTo(double x, double y)
Definition: IWORKPath.cpp:597
#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:847
friend bool approxEqual(const IWORKPath &left, const IWORKPath &right, const double eps)
IWORKPath & operator=(const IWORKPath &other)
Definition: IWORKPath.cpp:579
bool isRectangle() const
Definition: IWORKPath.cpp:686
void write(librevenge::RVNGPropertyListVector &vec, double deltaX=0, double deltaY=0) const
Create librevenge representation of this path.
Definition: IWORKPath.cpp:802