Public Member Functions | Protected Member Functions | List of all members
MyDXFPathEntity Class Reference

DXF path entity base class. More...

#include <mydxfentities.hpp>

Inheritance diagram for MyDXFPathEntity:
MyDXFEntity

Public Member Functions

virtual ~MyDXFPathEntity ()
 Virtual destructor.
virtual Vec3D start (void) const =0
 Get start point of path entity.
virtual Vec3D end (void) const =0
 Get end point of path entity.
virtual void set_start (const Vec3D &s)=0
 Set start point of path entity.
virtual void set_end (const Vec3D &e)=0
 Set end point of path entity.
virtual int ray_cross (double x, double y) const =0
 Check for ray crossing.
- Public Member Functions inherited from MyDXFEntity
virtual ~MyDXFEntity ()
 Virtual destructor.
virtual MyDXFEntitycopy (void) const =0
 Get a new copy of entity.
virtual void explode (class MyDXFEntities *ent, MyDXFFile *dxf, const Transformation *t) const =0
 Explode into entities.
virtual void write (class MyDXFFile *dxf, std::ofstream &ostr)=0
 Write dxf file to stream.
virtual void scale (class MyDXFFile *dxf, double s)=0
 Scale entity by factor s.
virtual void translate (class MyDXFFile *dxf, const Vec3D &dx)=0
 Translate entity by dx.
void set_layer (const std::string &layer)
 Set layer.
std::string get_layer (void) const
 Get layer.
virtual EntityType get_type (void) const =0
 Get entity type.
void set_handle (const std::string &handle)
 Set entity handle.
std::string get_handle (void) const
 Get entity handle.
virtual void plot (const class MyDXFFile *dxf, cairo_t *cairo, const Transformation *t, const double range[4]) const =0
 Plot entity with cairo.
virtual void get_bbox (Vec3D &min, Vec3D &max, const class MyDXFFile *dxf, const Transformation *t) const =0
 Return bounding box of entity.
virtual void debug_print (std::ostream &os) const =0
 Print debugging information to stream os.

Protected Member Functions

 MyDXFPathEntity ()
 MyDXFPathEntity (const MyDXFEntity &ent)
- Protected Member Functions inherited from MyDXFEntity
 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.
- 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

MyDXFPathEntity::MyDXFPathEntity ( )
inlineprotected
MyDXFPathEntity::MyDXFPathEntity ( const MyDXFEntity ent)
inlineprotected
virtual MyDXFPathEntity::~MyDXFPathEntity ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

virtual Vec3D MyDXFPathEntity::end ( void  ) const
pure virtual

Get end point of path entity.

virtual int MyDXFPathEntity::ray_cross ( double  x,
double  y 
) const
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().

virtual void MyDXFPathEntity::set_end ( const Vec3D e)
pure virtual

Set end point of path entity.

virtual void MyDXFPathEntity::set_start ( const Vec3D s)
pure virtual

Set start point of path entity.

virtual Vec3D MyDXFPathEntity::start ( void  ) const
pure virtual

Get start point of path entity.


The documentation for this class was generated from the following file: