IBSimu 1.0.4
Public Member Functions

MyDXFCircle Class Reference

DXF circle entity class. More...

#include <mydxfentities.hpp>

Inheritance diagram for MyDXFCircle:
MyDXFPathEntity MyDXFEntity

List of all members.

Public Member Functions

 MyDXFCircle ()
 Default constructor.
 MyDXFCircle (class MyDXFFile *dxf)
 Construct circle entity by reading from DXF file.
virtual ~MyDXFCircle ()
 Virtual destructor.
virtual MyDXFCirclecopy (void) const
 Get a new copy of entity.
virtual void explode (class MyDXFEntities *ent, MyDXFFile *dxf, const Transformation *t) const
 Explode into entities.
virtual void write (class MyDXFFile *dxf, std::ofstream &ostr)
 Write dxf file to stream.
virtual EntityType get_type (void) const
 Get entity type.
Vec3D center (void) const
 Get center point of circle.
double radius (void) const
 Get radius of circle.
virtual Vec3D start (void) const
 Get start point of path entity.
virtual Vec3D end (void) const
 Get end point of path entity.
virtual void set_start (const Vec3D &s)
 Set start point of path entity.
virtual void set_end (const Vec3D &e)
 Set end point of path entity.
virtual int ray_cross (double x, double y) const
 Check for ray crossing.
bool geom_same (const MyDXFCircle &circle, double eps=1.0e-6) const
 Check if two entities are geometrically same.
virtual void plot (const class MyDXFFile *dxf, cairo_t *cairo, const Transformation *t, const double range[4]) const
 Plot entity with cairo.
virtual void get_bbox (Vec3D &min, Vec3D &max, const class MyDXFFile *dxf, const Transformation *t) const
 Return bounding box of entity.
virtual void scale (class MyDXFFile *dxf, double s)
 Scale entity by factor s.

Detailed Description

DXF circle entity class.


Constructor & Destructor Documentation

MyDXFCircle::MyDXFCircle ( ) [inline]

Default constructor.

MyDXFCircle::MyDXFCircle ( class MyDXFFile dxf)

Construct circle entity by reading from DXF file.

virtual MyDXFCircle::~MyDXFCircle ( ) [inline, virtual]

Virtual destructor.


Member Function Documentation

Vec3D MyDXFCircle::center ( void  ) const [inline]

Get center point of circle.

virtual MyDXFCircle* MyDXFCircle::copy ( void  ) const [inline, virtual]

Get a new copy of entity.

Implements MyDXFEntity.

virtual Vec3D MyDXFCircle::end ( void  ) const [inline, virtual]

Get end point of path entity.

Implements MyDXFPathEntity.

virtual void MyDXFCircle::explode ( class MyDXFEntities ent,
MyDXFFile dxf,
const Transformation t 
) const [virtual]

Explode into entities.

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

Implements MyDXFEntity.

bool MyDXFCircle::geom_same ( const MyDXFCircle circle,
double  eps = 1.0e-6 
) const

Check if two entities are geometrically same.

Checks if entity a is the geometrically same as entity b within error limit eps.

virtual void MyDXFCircle::get_bbox ( Vec3D min,
Vec3D max,
const class MyDXFFile dxf,
const Transformation t 
) const [virtual]

Return bounding box of entity.

Implements MyDXFEntity.

virtual EntityType MyDXFCircle::get_type ( void  ) const [inline, virtual]

Get entity type.

Implements MyDXFEntity.

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

Plot entity with cairo.

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

Implements MyDXFEntity.

double MyDXFCircle::radius ( void  ) const [inline]

Get radius of circle.

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

Implements MyDXFPathEntity.

virtual void MyDXFCircle::scale ( class MyDXFFile dxf,
double  s 
) [virtual]

Scale entity by factor s.

Implements MyDXFEntity.

virtual void MyDXFCircle::set_end ( const Vec3D e) [inline, virtual]

Set end point of path entity.

Implements MyDXFPathEntity.

virtual void MyDXFCircle::set_start ( const Vec3D s) [inline, virtual]

Set start point of path entity.

Implements MyDXFPathEntity.

virtual Vec3D MyDXFCircle::start ( void  ) const [inline, virtual]

Get start point of path entity.

Implements MyDXFPathEntity.

virtual void MyDXFCircle::write ( class MyDXFFile dxf,
std::ofstream &  ostr 
) [virtual]

Write dxf file to stream.

Implements MyDXFEntity.


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