DXF path entity base class. More...
#include <mydxfentities.hpp>
Public Member Functions | |
| virtual | ~MyDXFPathEntity () |
| Virtual destructor. More... | |
| virtual Vec3D | start (void) const =0 |
| Get start point of path entity. More... | |
| virtual Vec3D | end (void) const =0 |
| Get end point of path entity. More... | |
| virtual void | set_start (const Vec3D &s)=0 |
| Set start point of path entity. More... | |
| virtual void | set_end (const Vec3D &e)=0 |
| Set end point of path entity. More... | |
| virtual int | ray_cross (double x, double y) const =0 |
| Check for ray crossing. More... | |
Public Member Functions inherited from MyDXFEntity | |
| virtual | ~MyDXFEntity () |
| Virtual destructor. More... | |
| virtual MyDXFEntity * | copy (void) const =0 |
| Get a new copy of entity. More... | |
| virtual void | explode (class MyDXFEntities *ent, MyDXFFile *dxf, const Transformation *t) const =0 |
| Explode into entities. More... | |
| virtual void | write (class MyDXFFile *dxf, std::ofstream &ostr)=0 |
| Write dxf file to stream. More... | |
| virtual void | scale (class MyDXFFile *dxf, double s)=0 |
| Scale entity by factor s. More... | |
| virtual void | translate (class MyDXFFile *dxf, const Vec3D &dx)=0 |
| Translate entity by dx. More... | |
| virtual void | rotate_z (class MyDXFFile *dxf, double a)=0 |
| Rotate entity around origin. More... | |
| void | set_layer (const std::string &layer) |
| Set layer. More... | |
| std::string | get_layer (void) const |
| Get layer. More... | |
| virtual EntityType | get_type (void) const =0 |
| Get entity type. More... | |
| void | set_handle (const std::string &handle) |
| Set entity handle. More... | |
| std::string | get_handle (void) const |
| Get entity handle. More... | |
| virtual void | plot (const class MyDXFFile *dxf, cairo_t *cairo, const Transformation *t, const double range[4]) const =0 |
| Plot entity with cairo. More... | |
| virtual void | get_bbox (Vec3D &min, Vec3D &max, const class MyDXFFile *dxf, const Transformation *t) const =0 |
| Return bounding box of entity. More... | |
| virtual void | debug_print (std::ostream &os) const =0 |
| Print debugging information to stream os. More... | |
Protected Member Functions | |
| MyDXFPathEntity (const MyDXFEntity &ent) | |
Protected Member Functions inherited from MyDXFEntity | |
| void | write_common (class MyDXFFile *dxf, std::ofstream &ostr) |
| void | process_group (class MyDXFFile *dxf) |
| void | constructor_debug_print (void) const |
| void | debug_print_base (std::ostream &os) const |
Additional Inherited Members | |
Static Protected Member Functions inherited from MyDXFEntity | |
| static void | bbox_ppoint (Vec3D &min, Vec3D &max, const Vec3D &p) |
| Propose a point to bounding box. More... | |
Protected Attributes inherited from MyDXFEntity | |
| std::string | _handle |
| std::string | _layer |
Detailed Description
DXF path entity base class.
A base class for two dimensional DXF entities, which can be part of a path. All path entities have a start point and an end point, that can be read and set.
Constructor & Destructor Documentation
|
inlinevirtual |
Virtual destructor.
Member Function Documentation
|
pure virtual |
Get end point of path entity.
Implemented in MyDXFSpline, MyDXFCircle, MyDXFArc, MyDXFLine, and MyDXFLWPolyline.
|
pure virtual |
Check for ray crossing.
Check if ray going from point (x,y) downwards (negative y direction) crosses the entity. Return 1 if crosses odd number of times and 0 if even number of times. Return 2 in case of exact crossing at boundaries. This function is used as a subroutine to inside_loop().
Implemented in MyDXFArc, MyDXFSpline, MyDXFCircle, MyDXFLine, and MyDXFLWPolyline.
|
pure virtual |
Set end point of path entity.
Implemented in MyDXFArc, MyDXFSpline, MyDXFCircle, MyDXFLine, and MyDXFLWPolyline.
|
pure virtual |
Set start point of path entity.
Implemented in MyDXFArc, MyDXFSpline, MyDXFCircle, MyDXFLine, and MyDXFLWPolyline.
|
pure virtual |
Get start point of path entity.
Implemented in MyDXFSpline, MyDXFCircle, MyDXFArc, MyDXFLine, and MyDXFLWPolyline.
The documentation for this class was generated from the following file:
Public Member Functions inherited from