Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.6dev
      Class Index
      File List
   Version 1.0.6
   Version 1.0.5new_solver
   Version 1.0.5dev
   Version 1.0.5b
   Version 1.0.4dev
   Version 1.0.4
Publications


Hosted by Get Ion Beam Simulator at SourceForge.net. Fast, secure and Free Open Source software downloads

DXF entity base class. More...

#include <mydxfentities.hpp>

Inheritance diagram for MyDXFEntity:
MyDXFInsert MyDXFMText MyDXFPathEntity MyDXFArc MyDXFCircle MyDXFLWPolyline MyDXFLine MyDXFSpline

Public Member Functions

virtual ~MyDXFEntity ()
 Virtual destructor. More...
 
virtual MyDXFEntitycopy (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

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
 

Static Protected Member Functions

static void bbox_ppoint (Vec3D &min, Vec3D &max, const Vec3D &p)
 Propose a point to bounding box. More...
 

Protected Attributes

std::string _handle
 
std::string _layer
 

Friends

std::ostream & operator<< (std::ostream &os, const MyDXFEntity &ent)
 

Detailed Description

DXF entity base class.

A general base class for all DXF entities. Contains data fields common to all entities.

Constructor & Destructor Documentation

◆ ~MyDXFEntity()

virtual MyDXFEntity::~MyDXFEntity ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ bbox_ppoint()

void MyDXFEntity::bbox_ppoint ( Vec3D min,
Vec3D max,
const Vec3D p 
)
staticprotected

Propose a point to bounding box.

Updates bounding box value at min and max by including point p in the bounding box.

◆ copy()

virtual MyDXFEntity* MyDXFEntity::copy ( void  ) const
pure virtual

Get a new copy of entity.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.

◆ debug_print()

virtual void MyDXFEntity::debug_print ( std::ostream &  os) const
pure virtual

Print debugging information to stream os.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.

◆ explode()

virtual void MyDXFEntity::explode ( class MyDXFEntities ent,
MyDXFFile dxf,
const Transformation t 
) const
pure virtual

Explode into entities.

Break entity into atomic entities and tranform the entities with tranformation t. Add the tranformed entities to the database ent.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.

◆ get_bbox()

virtual void MyDXFEntity::get_bbox ( Vec3D min,
Vec3D max,
const class MyDXFFile dxf,
const Transformation t 
) const
pure virtual

Return bounding box of entity.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.

◆ get_handle()

std::string MyDXFEntity::get_handle ( void  ) const
inline

Get entity handle.

◆ get_layer()

std::string MyDXFEntity::get_layer ( void  ) const
inline

Get layer.

◆ get_type()

virtual EntityType MyDXFEntity::get_type ( void  ) const
pure virtual

Get entity type.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.

◆ plot()

virtual void MyDXFEntity::plot ( const class MyDXFFile dxf,
cairo_t *  cairo,
const Transformation t,
const double  range[4] 
) const
pure virtual

Plot entity with cairo.

Plot the entity using the transformation t from the object space to cairo coordinates. The visible range is specified by range (xmin,ymin,xmax,ymax) in cairo coordinates.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.

◆ rotate_z()

virtual void MyDXFEntity::rotate_z ( class MyDXFFile dxf,
double  a 
)
pure virtual

Rotate entity around origin.

Rotate for a radians.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.

◆ scale()

virtual void MyDXFEntity::scale ( class MyDXFFile dxf,
double  s 
)
pure virtual

Scale entity by factor s.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.

◆ set_handle()

void MyDXFEntity::set_handle ( const std::string &  handle)
inline

Set entity handle.

◆ set_layer()

void MyDXFEntity::set_layer ( const std::string &  layer)
inline

Set layer.

◆ translate()

virtual void MyDXFEntity::translate ( class MyDXFFile dxf,
const Vec3D dx 
)
pure virtual

Translate entity by dx.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.

◆ write()

virtual void MyDXFEntity::write ( class MyDXFFile dxf,
std::ofstream &  ostr 
)
pure virtual

Write dxf file to stream.

Implemented in MyDXFSpline, MyDXFMText, MyDXFLWPolyline, MyDXFLine, MyDXFInsert, MyDXFCircle, and MyDXFArc.


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


Reference manual for Ion Beam Simulator 1.0.6dev
Generated by Doxygen 1.9.1 on Thu Sep 11 2025 09:37:24.