]> Shamusworld >> Repos - architektonas/blob - src/base/atomicentity.h
Bugfixes related to removing Snapper class.
[architektonas] / src / base / atomicentity.h
1 #ifndef __ATOMICENTITY_H__
2 #define __ATOMICENTITY_H__
3
4 #include "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 AtomicEntity: public Entity
13 {
14         public:
15                 AtomicEntity(EntityContainer * parent = NULL);
16                 virtual ~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  // __ATOMICENTITY_H__