QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
RDimAlignedData.h
Go to the documentation of this file.
1
20#ifndef RDIMALIGNEDDATA_H
21#define RDIMALIGNEDDATA_H
22
23#include "entity_global.h"
24
25#include "RDimLinearData.h"
26#include "RVector.h"
27
28class RDocument;
29class RRefPoint;
30
39 friend class RDimAlignedEntity;
40
41protected:
42 RDimAlignedData(RDocument* document, const RDimAlignedData& data);
43
44public:
46 RDimAlignedData(const RDimensionData& dimData,
47 const RVector& extensionPoint1,
48 const RVector& extensionPoint2);
49
50 virtual RS::EntityType getType() const {
52 }
53 virtual RBox getBoundingBox(bool ignoreEmpty=false) const;
54
55 virtual bool isValid() const;
56
57 virtual QList<RRefPoint> getReferencePoints(RS::ProjectionRenderingHint hint = RS::RenderTop) const;
58
59 virtual bool moveReferencePoint(const RVector& referencePoint, const RVector& targetPoint, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
60
61 virtual void recomputeDefinitionPoint(
62 const RVector& oldExtPoint1, const RVector& oldExtPoint2,
63 const RVector& newExtPoint1, const RVector& newExtPoint2);
64
65 virtual double getMeasuredValue() const;
66 virtual QString getAutoLabel() const;
67 double getAngle() const;
68
69 void updateRefDefinitionPoint1(const RVector& v) const {
70 refDefinitionPoint1 = v;
71 }
72 void updateRefDefinitionPoint2(const RVector& v) const {
73 refDefinitionPoint2 = v;
74 }
75 virtual void to2D() {
77 refDefinitionPoint1.z = 0.0;
78 refDefinitionPoint2.z = 0.0;
79 }
80
81private:
82 // for caching only:
85};
86
90Q_DECLARE_METATYPE(QSharedPointer<RDimAlignedData>)
91
92#endif
Q_DECLARE_METATYPE(RMath *)
Represents a box e.g.
Definition RBox.h:46
Aligned dimension entity data class.
Definition RDimAlignedData.h:38
void updateRefDefinitionPoint1(const RVector &v) const
Definition RDimAlignedData.h:69
RVector refDefinitionPoint2
Definition RDimAlignedData.h:84
RVector refDefinitionPoint1
Definition RDimAlignedData.h:83
void updateRefDefinitionPoint2(const RVector &v) const
Definition RDimAlignedData.h:72
virtual RS::EntityType getType() const
Definition RDimAlignedData.h:50
virtual void to2D()
Definition RDimAlignedData.h:75
Aligned dimension entity class.
Definition RDimAlignedEntity.h:39
Linear dimension entity data base class.
Definition RDimLinearData.h:39
virtual bool isValid() const
Definition RDimLinearData.cpp:50
virtual void recomputeDefinitionPoint(const RVector &oldExtPoint1, const RVector &oldExtPoint2, const RVector &newExtPoint1, const RVector &newExtPoint2)
Definition RDimLinearData.h:79
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 RDimLinearData.cpp:62
virtual void to2D()
Definition RDimLinearData.h:103
Base class for dimension entity data classes.
Definition RDimensionData.h:44
virtual QString getAutoLabel() const
Definition RDimensionData.h:568
virtual RBox getBoundingBox(bool ignoreEmpty=false) const
Definition RDimensionData.cpp:116
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const
Definition RDimensionData.cpp:497
virtual double getMeasuredValue() const
Definition RDimensionData.h:567
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition RDocument.h:78
Represents a reference point of an entity.
Definition RRefPoint.h:18
EntityType
Entity types used for property handling / filtering.
Definition RS.h:227
@ EntityDimAligned
Linear aligned Dimension.
Definition RS.h:264
ProjectionRenderingHint
Sets the current rendering hint for exports.
Definition RS.h:293
@ RenderTop
Definition RS.h:294
Represents a 3d vector (x/y/z).
Definition RVector.h:47
#define QCADENTITY_EXPORT
Definition entity_global.h:10