QCAD
Open Source 2D CAD
RPointEntity.h
Go to the documentation of this file.
1 
20 #ifndef RPOINTENTITY_H
21 #define RPOINTENTITY_H
22 
23 #include "entity_global.h"
24 
25 #include "REntity.h"
26 #include "RPointData.h"
27 
28 class RDocument;
29 class RExporter;
30 
39 
40 public:
57 
58 public:
59  RPointEntity(RDocument* document, const RPointData& data);
60  RPointEntity(const RPointEntity& other);
61  virtual ~RPointEntity();
62 
63  static void init();
64 
65  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
67  }
68 
69  virtual RPointEntity* clone() const {
70  return new RPointEntity(*this);
71  }
72 
73  virtual bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
74  RTransaction* transaction=NULL);
75  virtual QPair<QVariant, RPropertyAttributes> getProperty(
76  RPropertyTypeId& propertyTypeId,
77  bool humanReadable = false, bool noAttributes = false, bool showOnRequest = false);
78 
79  virtual void exportEntity(RExporter& e, bool preview=false, bool forceSelected=false) const;
80 
81  virtual RPointData& getData() {
82  return data;
83  }
84 
85  virtual const RPointData& getData() const {
86  return data;
87  }
88 
89  RVector getPosition() const {
90  return data.getPosition();
91  }
92 
93 protected:
94  virtual void print(QDebug dbg) const;
95 
96 protected:
98 };
99 
101 Q_DECLARE_METATYPE(QSharedPointer<RPointEntity>)
102 Q_DECLARE_METATYPE(QSharedPointer<RPointEntity>*)
103 
104 #endif
REntity.h
RPointEntity::PropertyDrawOrder
static RPropertyTypeId PropertyDrawOrder
Definition: RPointEntity.h:53
RPointEntity::PropertyLinetypeScale
static RPropertyTypeId PropertyLinetypeScale
Definition: RPointEntity.h:49
RPointEntity::PropertyColor
static RPropertyTypeId PropertyColor
Definition: RPointEntity.h:51
RPointEntity::PropertyPositionX
static RPropertyTypeId PropertyPositionX
Definition: RPointEntity.h:54
RPointEntity::getData
virtual RPointData & getData()
Definition: RPointEntity.h:81
RVector
Represents a 3d vector (x/y/z).
Definition: RVector.h:46
RPointEntity::PropertyHandle
static RPropertyTypeId PropertyHandle
Definition: RPointEntity.h:42
QCADENTITY_EXPORT
#define QCADENTITY_EXPORT
Definition: entity_global.h:10
REntity::exportEntity
virtual void exportEntity(RExporter &e, bool preview=false, bool forceSelected=false) const =0
Exports the entity to the given exporter.
RPointEntity::PropertyWorkingSet
static RPropertyTypeId PropertyWorkingSet
Definition: RPointEntity.h:44
RPointEntity::PropertyBlock
static RPropertyTypeId PropertyBlock
Definition: RPointEntity.h:46
RPointEntity::PropertyLayer
static RPropertyTypeId PropertyLayer
Definition: RPointEntity.h:47
RPointEntity
Point entity.
Definition: RPointEntity.h:38
RPointEntity::PropertyCustom
static RPropertyTypeId PropertyCustom
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RPointEntity.h:41
REntity
Base class for all entity classes.
Definition: REntity.h:65
RPointEntity::data
RPointData data
Definition: RPointEntity.h:97
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(RMath *)
RPointEntity::PropertyPositionY
static RPropertyTypeId PropertyPositionY
Definition: RPointEntity.h:55
RPointEntity::getStaticPropertyTypeIds
static QSet< RPropertyTypeId > getStaticPropertyTypeIds()
Definition: RPointEntity.h:65
REntity::init
static void init()
Definition: REntity.cpp:88
REntity::print
virtual void print(QDebug dbg) const
Stream operator for QDebug.
Definition: REntity.cpp:455
RPointEntity::PropertyLineweight
static RPropertyTypeId PropertyLineweight
Definition: RPointEntity.h:50
RPropertyTypeId
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RPropertyTypeId.h:59
RPointEntity::PropertyPositionZ
static RPropertyTypeId PropertyPositionZ
Definition: RPointEntity.h:56
RExporter
Abstract base class for exporters.
Definition: RExporter.h:72
REntity::setProperty
virtual bool setProperty(RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
Sets the given property to the given value.
Definition: REntity.cpp:323
RDocument
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition: RDocument.h:72
RPointData
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RPointData.h:40
RPointEntity::getPosition
RVector getPosition() const
Definition: RPointEntity.h:89
RPointEntity::clone
virtual RPointEntity * clone() const
Definition: RPointEntity.h:69
RPointEntity::PropertyDisplayedColor
static RPropertyTypeId PropertyDisplayedColor
Definition: RPointEntity.h:52
REntity::getProperty
virtual QPair< QVariant, RPropertyAttributes > getProperty(RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
Definition: REntity.cpp:230
RPointData.h
RTransaction
Transaction implementation.
Definition: RTransaction.h:74
RPropertyTypeId::getPropertyTypeIds
static QSet< RPropertyTypeId > getPropertyTypeIds(const std::type_info &classInfo, RPropertyAttributes::Option=RPropertyAttributes::NoOptions)
Gets all property type IDs that where registered for the given class.
Definition: RPropertyTypeId.cpp:273
RPointEntity::PropertyLinetype
static RPropertyTypeId PropertyLinetype
Definition: RPointEntity.h:48
entity_global.h
RPointEntity::PropertyType
static RPropertyTypeId PropertyType
Definition: RPointEntity.h:45
RPointEntity::getData
virtual const RPointData & getData() const
Definition: RPointEntity.h:85
RPointEntity::PropertyProtected
static RPropertyTypeId PropertyProtected
Definition: RPointEntity.h:43