QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
REntity.h
Go to the documentation of this file.
1
20#ifndef RENTITY_H
21#define RENTITY_H
22
23#include "core_global.h"
24
25#include <QList>
26
27#include "RBox.h"
28#include "RColor.h"
29#include "REntityData.h"
30#include "RLineweight.h"
31#include "RLinetypePattern.h"
32#include "RObject.h"
33#include "RPolyline.h"
34#include "RPropertyTypeId.h"
35#include "RRefPoint.h"
36#include "RVector.h"
37
38class RBlock;
39class RDocument;
40class RExporter;
41class RLayer;
43class RViewportData;
44
45#ifndef RDEFAULT_QSET_INT
46#define RDEFAULT_QSET_INT QSet<int>()
47#endif
48
49#ifndef RDEFAULT_TOLERANCE_1E_MIN4
50#define RDEFAULT_TOLERANCE_1E_MIN4 1.0e-4
51#endif
52
64
65 Q_DECLARE_TR_FUNCTIONS(REntity)
66
67 friend class RStorage;
68
69public:
70 static RPropertyTypeId PropertyCustom;
71 static RPropertyTypeId PropertyHandle;
72 static RPropertyTypeId PropertyProtected;
73 static RPropertyTypeId PropertyWorkingSet;
74 static RPropertyTypeId PropertyType;
75 static RPropertyTypeId PropertyBlock;
76 static RPropertyTypeId PropertyLayer;
77 static RPropertyTypeId PropertyLinetype;
78 static RPropertyTypeId PropertyLinetypeScale;
79 static RPropertyTypeId PropertyLineweight;
80 static RPropertyTypeId PropertyColor;
81 static RPropertyTypeId PropertyDisplayedColor;
82 static RPropertyTypeId PropertyDrawOrder;
83
84 static RPropertyTypeId PropertyParentId;
85
86 static RPropertyTypeId PropertyMinX;
87 static RPropertyTypeId PropertyMinY;
88 static RPropertyTypeId PropertyMaxX;
89 static RPropertyTypeId PropertyMaxY;
90 static RPropertyTypeId PropertySizeX;
91 static RPropertyTypeId PropertySizeY;
92
93public:
94 REntity(RDocument* document);
95 REntity(const REntity& other);
96 virtual ~REntity();
97
98 static RS::EntityType getRtti() {
99 return RS::EntityUnknown;
100 }
101
102 static void init();
103
104 static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
106 }
107
108 void setDocument(RDocument* document) {
109 RObject::setDocument(document);
110 getData().setDocument(document);
111 }
112
113 virtual QSharedPointer<RObject> clone() const = 0;
114
115 QSharedPointer<REntity> cloneToEntity() const {
116 QSharedPointer<REntity> ret = clone().dynamicCast<REntity>();
117 Q_ASSERT(!ret.isNull());
118 return ret;
119 }
120
121 virtual RS::EntityType getType() const {
122 return getData().getType();
123 }
124
125 virtual bool isPointType() const {
126 return getData().isPointType();
127 }
128
129 static bool isComplex(const RS::EntityType type);
130 static bool isDimension(const RS::EntityType type);
131 static bool isTextBased(const RS::EntityType type);
132
136 virtual REntityData& getData() = 0;
137
141 virtual const REntityData& getData() const = 0;
142
143 virtual bool isValid() const {
144 return getData().isValid();
145 }
146 virtual bool isSane() const {
147 return getData().isSane();
148 }
149
155// virtual bool isPartOfBlockReference(RObject::Id blockRefId) const {
156// Q_UNUSED(blockRefId)
157
158// return false;
159// }
160
164// virtual bool getAutoVisualize() const {
165// return true;
166// }
167
171 virtual bool isSelected() const {
172 return getData().isSelected();
173 }
174
175 virtual void setSelected(bool on);
176
180 virtual bool isSelectedWorkingSet() const {
181 return getData().isSelectedWorkingSet();
182 }
183
184 virtual void setSelectedWorkingSet(bool on) {
185 getData().setSelectedWorkingSet(on);
186 }
187
188 virtual bool isSelectable() const;
189
190 virtual bool isUpdatesEnabled() const {
191 return getData().isUpdatesEnabled();
192 }
193
194 void setUpdatesEnabled(bool on) {
195 getData().setUpdatesEnabled(on);
196 }
197
198 virtual bool cloneOnChange() const {
199 return getData().cloneOnChange();
200 }
201
205 void setDrawOrder(int drawOrder) {
206 getData().setDrawOrder(drawOrder);
207 }
208
212 int getDrawOrder() const {
213 return getData().getDrawOrder();
214 }
215
219 void setLayerId(RObject::Id layerId) {
220 getData().setLayerId(layerId);
221 }
222
226 void setLayerName(const QString& n) {
227 getData().setLayerName(n);
228 }
229
234 return getData().getLayerId();
235 }
236
240 QString getLayerName() const {
241 return getData().getLayerName();
242 }
243
247 void setBlockId(RObject::Id blockId) {
248 getData().setBlockId(blockId);
249 }
250
255 return getData().getBlockId();
256 }
257
261 QString getBlockName() const {
262 return getData().getBlockName();
263 }
264
269 return getData().getParentId();
270 }
271
275 void setLinetypeId(RObject::Id linetypeId) {
276 getData().setLinetypeId(linetypeId);
277 }
278
282 void setLinetypePattern(const RLinetypePattern& linetypePattern) {
283 getData().setLinetypePattern(linetypePattern);
284 }
285
290 return getData().getLinetypeId();
291 }
292
293 RObject::Id getLinetypeId(bool resolve, const QStack<QSharedPointer<REntity> >& blockRefStack) const;
294
299 return getData().getLinetypePattern();
300 }
301
305 void setLinetypeScale(double linetypeScale) {
306 getData().setLinetypeScale(linetypeScale);
307 }
308
312 double getLinetypeScale() const {
313 return getData().getLinetypeScale();
314 }
315
320 getData().setLineweight(lineweight);
321 }
322
327 return getData().getLineweight();
328 }
329
330 RLineweight::Lineweight getLineweight(bool resolve, const QStack<QSharedPointer<REntity> >& blockRefStack) const;
331
332 double getLineweightInUnits(const QStack<QSharedPointer<REntity> >& blockRefStack) const;
333
337 void setColor(const RColor& color) {
338 getData().setColor(color);
339 }
340
344 RColor getColor() const {
345 return getData().getColor();
346 }
347
348 RColor getColor(const RColor& unresolvedColor, const QStack<QSharedPointer<REntity> >& blockRefStack);
349 RColor getColor(bool resolve, const QStack<QSharedPointer<REntity> >& blockRefStack);
350
352 return getData().getDisplayColor();
353 }
354
355 void copyAttributesFrom(const REntity* entity, bool copyBlockId=true);
356 void copyAttributesFrom(const REntityData& entityData, bool copyBlockId=true);
357
361 virtual RBox getBoundingBox(bool ignoreEmpty=false) const {
362 return getData().getBoundingBox(ignoreEmpty);
363 }
364
368 virtual void to2D() {
369 getData().to2D();
370 }
371
375 virtual void setZ(double z) {
376 getData().setZ(z);
377 }
378
382 virtual QList<RBox> getBoundingBoxes(bool ignoreEmpty=false) const {
383 return getData().getBoundingBoxes(ignoreEmpty);
384 }
385
389 virtual RPolyline getHull(double offset) const {
390 return getData().getHull(offset);
391 }
392
396// virtual QList<QPair<RObject::Id, RBox> > getIdBoundingBoxes() const {
397// return getData().getIdBoundingBoxes();
398// }
399
403 virtual QList<QSharedPointer<RShape> > getShapes(const RBox& queryBox = RDEFAULT_RBOX, bool ignoreComplex = false, bool segment = false, QList<RObject::Id>* entityIds = NULL) const {
404 return getData().getShapes(queryBox, ignoreComplex, segment, entityIds);
405 }
406
410 RObject::Id getClosestSubEntityId(const RVector& pos, double range = RNANDOUBLE, bool ignoreComplex = false) const {
411 return getData().getClosestSubEntityId(pos, range, ignoreComplex);
412 }
413
417 virtual QSharedPointer<RShape> getClosestShape(const RVector& pos, double range = RNANDOUBLE, bool ignoreComplex = false, RObject::Id* subEntityId = NULL) const {
418 return getData().getClosestShape(pos, range, ignoreComplex, subEntityId);
419 }
420
424 virtual QSharedPointer<RShape> getClosestSimpleShape(const RVector& pos, double range = RNANDOUBLE) const {
425 return getClosestShape(pos, range, true);
426 }
427
431 virtual bool isInside(const RBox& box) const {
432 return getData().isInside(box);
433 }
434
438 virtual bool isOnEntity(const RVector& point, bool limited=true, double tolerance = RDEFAULT_TOLERANCE_1E_MIN4) const {
439 return getData().isOnEntity(point, limited, tolerance);
440 }
441
445 virtual bool intersectsWith(const RShape& shape) const {
446 return getData().intersectsWith(shape);
447 }
448
452 virtual double getDistanceTo(const RVector& point, bool limited = true, double range = 0.0, bool draft = false, double strictRange = RMAXDOUBLE) const {
453 return getData().getDistanceTo(point, limited, range, draft, strictRange);
454 }
455
459 virtual RVector getVectorTo(const RVector& point, bool limited = true, double strictRange = RMAXDOUBLE) const {
460 return getData().getVectorTo(point, limited, strictRange);
461 }
462
466 virtual QList<RRefPoint> getInternalReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop, QList<RObject::Id>* subEntityIds = NULL) const {
467 return getData().getInternalReferencePoints(hint, subEntityIds);
468 }
469
473 virtual QList<RRefPoint> getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const {
474 return getData().getReferencePoints(hint);
475 }
476
480 virtual RVector getPointOnEntity() const {
481 return getData().getPointOnEntity();
482 }
483
487 virtual QList<RVector> getEndPoints(const RBox& queryBox = RDEFAULT_RBOX, QList<RObject::Id>* subEntityIds = NULL) const {
488 return getData().getEndPoints(queryBox, subEntityIds);
489 }
490
494 virtual QList<RVector> getMiddlePoints(const RBox& queryBox = RDEFAULT_RBOX, QList<RObject::Id>* subEntityIds = NULL) const {
495 return getData().getMiddlePoints(queryBox, subEntityIds);
496 }
497
501 virtual QList<RVector> getCenterPoints(const RBox& queryBox = RDEFAULT_RBOX, QList<RObject::Id>* subEntityIds = NULL) const {
502 return getData().getCenterPoints(queryBox, subEntityIds);
503 }
504
509 double range=RNANDOUBLE, bool limited=true, RObject::Id* subEntityId = NULL) const {
510
511 return getData().getClosestPointOnEntity(point, range, limited, subEntityId);
512 }
513
517 virtual QList<RVector> getPointsWithDistanceToEnd(
518 double distance,
519 int from = RS::FromAny,
520 const RBox& queryBox = RDEFAULT_RBOX, QList<RObject::Id>* subEntityIds = NULL) const {
521 return getData().getPointsWithDistanceToEnd(distance, from, queryBox, subEntityIds);
522 }
523
527 virtual QList<RVector> getIntersectionPoints(const REntity& other, bool limited = true, const RBox& queryBox = RDEFAULT_RBOX, bool ignoreComplex = true, QList<QPair<RObject::Id, RObject::Id> >* entityIds = NULL) const;
528
532 virtual QList<RVector> getIntersectionPoints(const RShape& shape, bool limited = true, const RBox& queryBox = RDEFAULT_RBOX, bool ignoreComplex = true) const;
533
537 virtual QList<RVector> getIntersectionPointsWithShape(const RShape& shape, bool limited = true, const RBox& queryBox = RDEFAULT_RBOX) const {
538 return getIntersectionPoints(shape, limited, queryBox);
539 }
540
544 virtual bool clickReferencePoint(const RVector& referencePoint) {
545 return getData().clickReferencePoint(referencePoint);
546 }
547
551 virtual bool moveReferencePoint(const RVector& referencePoint, const RVector& targetPoint, Qt::KeyboardModifiers modifiers = Qt::NoModifier) {
552 return getData().moveReferencePoint(referencePoint, targetPoint, modifiers);
553 }
554
558 virtual bool move(const RVector& offset) {
559 return getData().move(offset);
560 }
561
565 virtual bool rotate(double rotation, const RVector& center = RDEFAULT_RVECTOR) {
566 return getData().rotate(rotation, center);
567 }
568
572 virtual bool scale(const RVector& scaleFactors, const RVector& center = RDEFAULT_RVECTOR) {
573 return getData().scale(scaleFactors, center);
574 }
575
579 virtual QSharedPointer<REntity> scaleNonUniform(const RVector& scaleFactors, const RVector& center = RDEFAULT_RVECTOR);
580
584 virtual bool scale(double scaleFactor, const RVector& center = RDEFAULT_RVECTOR) {
585 return getData().scale(scaleFactor, center);
586 }
587
588 virtual void scaleVisualProperties(double scaleFactor) {
589 getData().scaleVisualProperties(scaleFactor);
590 }
591
592 virtual void setViewportContext(const RViewportData&) {
593 // MSVC does not compile this:
594 //Q_UNUSED(vp);
595 }
596
600 virtual bool mirror(const RLine& axis) {
601 return getData().mirror(axis);
602 }
603
607 virtual bool mirror(const RVector& axis1, const RVector& axis2) {
608 return getData().mirror(axis1, axis2);
609 }
610
614 virtual bool flipHorizontal() {
615 return getData().flipHorizontal();
616 }
617
621 virtual bool flipVertical() {
622 return getData().flipVertical();
623 }
624
628 virtual bool stretch(const RPolyline& area, const RVector& offset) {
629 return getData().stretch(area, offset);
630 }
631
635 virtual void update() const {
636 getData().update();
637 }
638
642 virtual RShape* castToShape() {
643 return getData().castToShape();
644 }
645
649 virtual const RShape* castToConstShape() const {
650 return getData().castToConstShape();
651 }
652
658 virtual void exportEntity(RExporter& e, bool preview = false, bool forceSelected=false) const = 0;
659
660 virtual void setAutoUpdatesBlocked(bool on) {
661 getData().setAutoUpdatesBlocked(on);
662 }
663
664 virtual QPair<QVariant, RPropertyAttributes> getProperty(
665 RPropertyTypeId& propertyTypeId,
666 bool humanReadable = false, bool noAttributes = false, bool showOnRequest = false);
667
668 virtual bool setProperty(RPropertyTypeId propertyTypeId,
669 const QVariant& value, RTransaction* transaction=NULL);
670
671 virtual bool isVisible(RObject::Id blockId = RObject::INVALID_ID) const;
672 virtual bool isEditable(bool allowInvisible = false) const;
673 virtual bool isInWorkingSet() const;
674
675 virtual int getComplexity() const {
676 return 1;
677 }
678
679protected:
684 void setParentId(RObject::Id parentId) {
685 getData().setParentId(parentId);
686 }
687
688 virtual void print(QDebug dbg) const;
689};
690
692Q_DECLARE_METATYPE(QSharedPointer<REntity>)
693Q_DECLARE_METATYPE(QSharedPointer<REntity>*)
694Q_DECLARE_METATYPE(QStack<QSharedPointer<REntity> >)
695Q_DECLARE_METATYPE(QStack<QSharedPointer<REntity> >*)
696
697#endif
#define RDEFAULT_RBOX
Definition RBox.h:35
#define RNANDOUBLE
Definition RMath.h:74
Q_DECLARE_METATYPE(RMath *)
#define RMAXDOUBLE
Definition RMath.h:66
#define RDEFAULT_TOLERANCE_1E_MIN4
Definition RShape.h:43
#define RDEFAULT_RVECTOR
Definition RVector.h:38
Represents a block definition in a drawing.
Definition RBlock.h:42
Represents a box e.g.
Definition RBox.h:46
Color.
Definition RColor.h:43
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition RDocument.h:78
Base class for all entity data classes.
Definition REntityData.h:65
Base class for all entity classes.
Definition REntity.h:63
virtual void setZ(double z)
Definition REntity.h:375
double getLinetypeScale() const
Definition REntity.h:312
virtual REntityData & getData()=0
virtual RS::EntityType getType() const
Definition REntity.h:121
virtual bool scale(double scaleFactor, const RVector &center=RDEFAULT_RVECTOR)
Definition REntity.h:584
virtual bool isValid() const
Definition REntity.h:143
virtual RBox getBoundingBox(bool ignoreEmpty=false) const
Definition REntity.h:361
virtual const REntityData & getData() const =0
virtual QList< RVector > getCenterPoints(const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const
Definition REntity.h:501
virtual const RShape * castToConstShape() const
Definition REntity.h:649
virtual bool intersectsWith(const RShape &shape) const
Definition REntity.h:445
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const
Definition REntity.h:473
virtual bool cloneOnChange() const
Definition REntity.h:198
RLineweight::Lineweight getLineweight() const
Definition REntity.h:326
void setColor(const RColor &color)
Definition REntity.h:337
virtual QList< QSharedPointer< RShape > > getShapes(const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=false, bool segment=false, QList< RObject::Id > *entityIds=NULL) const
Definition REntity.h:403
virtual bool isInside(const RBox &box) const
Definition REntity.h:431
virtual RVector getVectorTo(const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const
Definition REntity.h:459
void setBlockId(RObject::Id blockId)
Definition REntity.h:247
virtual void to2D()
Definition REntity.h:368
virtual RPolyline getHull(double offset) const
Definition REntity.h:389
virtual QList< RVector > getPointsWithDistanceToEnd(double distance, int from=RS::FromAny, const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const
Definition REntity.h:517
virtual QSharedPointer< RShape > getClosestSimpleShape(const RVector &pos, double range=RNANDOUBLE) const
Definition REntity.h:424
void setUpdatesEnabled(bool on)
Definition REntity.h:194
virtual bool isOnEntity(const RVector &point, bool limited=true, double tolerance=RDEFAULT_TOLERANCE_1E_MIN4) const
Definition REntity.h:438
void setLinetypePattern(const RLinetypePattern &linetypePattern)
Definition REntity.h:282
QString getLayerName() const
Definition REntity.h:240
virtual QSharedPointer< RObject > clone() const =0
virtual bool isUpdatesEnabled() const
Definition REntity.h:190
virtual int getComplexity() const
Definition REntity.h:675
QSharedPointer< REntity > cloneToEntity() const
Definition REntity.h:115
virtual QList< RBox > getBoundingBoxes(bool ignoreEmpty=false) const
Definition REntity.h:382
virtual bool mirror(const RVector &axis1, const RVector &axis2)
Definition REntity.h:607
virtual bool rotate(double rotation, const RVector &center=RDEFAULT_RVECTOR)
Definition REntity.h:565
virtual bool moveReferencePoint(const RVector &referencePoint, const RVector &targetPoint, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
Moves the given reference point to the given target point or does nothing if this entity has no refer...
Definition REntity.h:551
void setLineweight(RLineweight::Lineweight lineweight)
Definition REntity.h:319
virtual void setAutoUpdatesBlocked(bool on)
Definition REntity.h:660
virtual QList< RVector > getIntersectionPoints(const REntity &other, bool limited=true, const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=true, QList< QPair< RObject::Id, RObject::Id > > *entityIds=NULL) const
void setParentId(RObject::Id parentId)
Definition REntity.h:684
void setDrawOrder(int drawOrder)
Sets the draw order of this entity.
Definition REntity.h:205
virtual bool move(const RVector &offset)
Moves this entity by the given offset.
Definition REntity.h:558
virtual bool isPointType() const
Definition REntity.h:125
static QSet< RPropertyTypeId > getStaticPropertyTypeIds()
Definition REntity.h:104
virtual bool clickReferencePoint(const RVector &referencePoint)
Called when user clicks a reference point.
Definition REntity.h:544
virtual QList< RVector > getIntersectionPointsWithShape(const RShape &shape, bool limited=true, const RBox &queryBox=RDEFAULT_RBOX) const
Make getIntersectionPoints with shape parameter accessible for script wrappers.
Definition REntity.h:537
RObject::Id getLinetypeId() const
Definition REntity.h:289
virtual bool stretch(const RPolyline &area, const RVector &offset)
Stretches the end points of this entity that are inside area by offset.
Definition REntity.h:628
virtual QList< RRefPoint > getInternalReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop, QList< RObject::Id > *subEntityIds=NULL) const
Can be overwritten to return internal, resolved reference points.
Definition REntity.h:466
void setDocument(RDocument *document)
Definition REntity.h:108
virtual RShape * castToShape()
Definition REntity.h:642
QString getBlockName() const
Definition REntity.h:261
virtual QList< RVector > getEndPoints(const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const
Definition REntity.h:487
virtual void update() const
Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
Definition REntity.h:635
virtual bool isSelected() const
Reimplemented by entities that are part of a block reference but not stored as part of the block defi...
Definition REntity.h:171
virtual bool isSelectedWorkingSet() const
Definition REntity.h:180
virtual bool flipHorizontal()
Definition REntity.h:614
virtual RVector getPointOnEntity() const
Definition REntity.h:480
static RS::EntityType getRtti()
Definition REntity.h:98
void setLayerName(const QString &n)
Definition REntity.h:226
virtual QList< RVector > getMiddlePoints(const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const
Definition REntity.h:494
RObject::Id getLayerId() const
Definition REntity.h:233
int getDrawOrder() const
Definition REntity.h:212
RObject::Id getBlockId() const
Definition REntity.h:254
virtual void scaleVisualProperties(double scaleFactor)
Definition REntity.h:588
virtual bool scale(const RVector &scaleFactors, const RVector &center=RDEFAULT_RVECTOR)
Definition REntity.h:572
void setLayerId(RObject::Id layerId)
Definition REntity.h:219
virtual bool flipVertical()
Definition REntity.h:621
RObject::Id getClosestSubEntityId(const RVector &pos, double range=RNANDOUBLE, bool ignoreComplex=false) const
Convenience function for scripts.
Definition REntity.h:410
virtual QSharedPointer< RShape > getClosestShape(const RVector &pos, double range=RNANDOUBLE, bool ignoreComplex=false, RObject::Id *subEntityId=NULL) const
Definition REntity.h:417
virtual void setSelectedWorkingSet(bool on)
Definition REntity.h:184
virtual void exportEntity(RExporter &e, bool preview=false, bool forceSelected=false) const =0
Exports the entity to the given exporter.
RColor getDisplayColor()
Definition REntity.h:351
RColor getColor() const
Definition REntity.h:344
virtual bool isSane() const
Definition REntity.h:146
virtual double getDistanceTo(const RVector &point, bool limited=true, double range=0.0, bool draft=false, double strictRange=RMAXDOUBLE) const
Definition REntity.h:452
RObject::Id getParentId() const
Definition REntity.h:268
virtual bool mirror(const RLine &axis)
Definition REntity.h:600
void setLinetypeId(RObject::Id linetypeId)
Sets the linetype of this entity to the given linetype ID.
Definition REntity.h:275
virtual void setViewportContext(const RViewportData &)
Definition REntity.h:592
RLinetypePattern getLinetypePattern() const
Definition REntity.h:298
virtual RVector getClosestPointOnEntity(const RVector &point, double range=RNANDOUBLE, bool limited=true, RObject::Id *subEntityId=NULL) const
Definition REntity.h:508
void setLinetypeScale(double linetypeScale)
Definition REntity.h:305
Abstract base class for exporters.
Definition RExporter.h:78
Represents a layer in a drawing.
Definition RLayer.h:45
Low-level mathematical representation of a line.
Definition RLine.h:41
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RLinetypePattern.h:42
Lineweight
Definition RLineweight.h:44
Abstract base class for all objects.
Definition RObject.h:64
static void init()
Definition RObject.cpp:68
virtual bool setProperty(RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
Sets the given property to the given value.
Definition RObject.cpp:180
static const Id INVALID_ID
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RObject.h:70
virtual QSharedPointer< RObject > clone() const =0
void setDocument(RDocument *document)
Definition RObject.cpp:64
virtual void setSelected(bool on)
Definition RObject.h:198
virtual QPair< QVariant, RPropertyAttributes > getProperty(RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
Definition RObject.cpp:136
int Id
Definition RObject.h:69
virtual void print(QDebug dbg) const
Stream operator for QDebug.
Definition RObject.cpp:719
Low-level mathematical representation of an open polyline or closed polyline (= polygon).
Definition RPolyline.h:50
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RPropertyAttributes.h:42
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RPropertyTypeId.h:54
static QSet< RPropertyTypeId > getPropertyTypeIds(RS::EntityType type, RPropertyAttributes::Option=RPropertyAttributes::NoOptions)
Gets all property type IDs that where registered for the given class.
Definition RPropertyTypeId.cpp:283
Class namespace for various global enums.
Definition RS.h:149
@ FromAny
Start or end.
Definition RS.h:374
EntityType
Entity types used for property handling / filtering.
Definition RS.h:227
@ EntityUnknown
Unknown entity.
Definition RS.h:242
ProjectionRenderingHint
Sets the current rendering hint for exports.
Definition RS.h:293
@ RenderTop
Definition RS.h:294
Interface for geometrical shape classes.
Definition RShape.h:72
This is the abstract base class for all storage implementations.
Definition RStorage.h:67
Transaction implementation.
Definition RTransaction.h:73
Represents a 3d vector (x/y/z).
Definition RVector.h:47
Stores and manages all data that defines the geometry and appearance of a viewport entity.
Definition RViewportData.h:53
#define QCADCORE_EXPORT
Definition core_global.h:10
void getIntersectionPoints(void e1, void e2, void limited)
Returns intersection points between the two given entities or shapes.
Definition simple_info.js:12
#define NULL
Definition opennurbs_system.h:256
#define const
Definition zconf.h:156