]> Shamusworld >> Repos - architektonas/blob - src/base/rs_atomicentity.h
Changed RS_Graphic to Drawing; this is less confusing as a drawing is
[architektonas] / src / base / rs_atomicentity.h
1 #ifndef RS_ATOMICENTITY_H
2 #define RS_ATOMICENTITY_H
3
4 #include "rs_entity.h"
5
6 /**
7  * Class representing a tree of entities.
8  * Typical entity containers are graphics, polylines, groups, texts, ...)
9  *
10  * @author Andrew Mustun
11  */
12 class RS_AtomicEntity: public RS_Entity
13 {
14         public:
15                 RS_AtomicEntity(RS_EntityContainer * parent = NULL);
16                 virtual ~RS_AtomicEntity();
17                 virtual bool isContainer() const;
18                 virtual bool isAtomic() const;
19                 virtual unsigned long int count();
20                 virtual unsigned long int countDeep();
21                 virtual Vector getEndpoint() const;
22                 virtual Vector getStartpoint() const;
23                 virtual double getDirection1() const;
24                 virtual double getDirection2() const;
25                 virtual void setStartpointSelected(bool select);
26                 virtual void setEndpointSelected(bool select);
27                 bool isStartpointSelected() const;
28                 bool isEndpointSelected() const;
29                 virtual void moveStartpoint(const Vector & /*pos*/);
30                 virtual void moveEndpoint(const Vector & /*pos*/);
31                 virtual void trimStartpoint(const Vector & pos);
32                 virtual void trimEndpoint(const Vector & pos);
33                 virtual RS2::Ending getTrimPoint(const Vector & /*coord*/, const Vector & /*trimPoint*/);
34                 virtual void reverse();
35                 virtual void moveSelectedRef(const Vector & ref, const Vector & offset);
36 };
37
38 #endif