QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
RDimRotatedData.h
Go to the documentation of this file.
1
20#ifndef RDIMROTATEDDATA_H
21#define RDIMROTATEDDATA_H
22
23#include "entity_global.h"
24
25#include "RDimLinearData.h"
26
27class RDocument;
28class RLine;
29class RVector;
30class RRefPoint;
31
40 friend class RDimRotatedEntity;
41
42protected:
43 RDimRotatedData(RDocument* document, const RDimRotatedData& data);
44
45public:
47 RDimRotatedData(const RDimensionData& dimData,
48 const RVector& extensionPoint1,
49 const RVector& extensionPoint2,
50 double rotation);
51
52 virtual RS::EntityType getType() const {
54 }
55 virtual RBox getBoundingBox(bool ignoreEmpty=false) const;
56
57 virtual bool isValid() const;
58 virtual bool isSane() const;
59
60 void setRotation(double r) {
61 rotation = r;
62 }
63
64 double getRotation() const {
65 return rotation;
66 }
67
68 virtual QList<RRefPoint> getReferencePoints(RS::ProjectionRenderingHint hint = RS::RenderTop) const;
69
70 virtual bool moveReferencePoint(const RVector& referencePoint, const RVector& targetPoint, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
71
72 virtual QList<RVector> getDimPoints() const;
73
74 virtual void recomputeDefinitionPoint(
75 const RVector& oldExtPoint1, const RVector& oldExtPoint2,
76 const RVector& newExtPoint1, const RVector& newExtPoint2);
77
78 //virtual void recomputeDefinitionPoint(const RVector& oldDimLineGrip, const RVector& newDimLineGrip);
79
80 virtual bool rotate(double rotation, const RVector& center);
81 virtual bool mirror(const RLine& axis);
82
83 virtual double getMeasuredValue() const;
84 virtual QString getAutoLabel() const;
85
86private:
88 double rotation;
89};
90
94Q_DECLARE_METATYPE(QSharedPointer<RDimRotatedData>)
95
96#endif
Q_DECLARE_METATYPE(RMath *)
Represents a box e.g.
Definition RBox.h:46
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 mirror(const RLine &axis)
Definition RDimLinearData.cpp:122
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 bool rotate(double rotation, const RVector &center)
Definition RDimLinearData.cpp:106
virtual bool isSane() const
Definition RDimLinearData.cpp:56
Rotated dimension entity data class.
Definition RDimRotatedData.h:39
void setRotation(double r)
Definition RDimRotatedData.h:60
virtual RS::EntityType getType() const
Definition RDimRotatedData.h:52
double rotation
Fixed angle of dimension line in rad.
Definition RDimRotatedData.h:88
double getRotation() const
Definition RDimRotatedData.h:64
Rotated, linear dimension entity class.
Definition RDimRotatedEntity.h:38
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
Low-level mathematical representation of a line.
Definition RLine.h:41
Represents a reference point of an entity.
Definition RRefPoint.h:18
EntityType
Entity types used for property handling / filtering.
Definition RS.h:227
@ EntityDimRotated
Linear rotated Dimension.
Definition RS.h:265
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