QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
RDimAngular3PData.h
Go to the documentation of this file.
1
20#ifndef RDIMANGULAR3PDATA_H
21#define RDIMANGULAR3PDATA_H
22
23#include "entity_global.h"
24
25#include "RDimAngularData.h"
26#include "RVector.h"
27
28class RDocument;
29class RLine;
30class RRefPoint;
31
40 friend class RDimAngular3PEntity;
41
42protected:
43 RDimAngular3PData(RDocument* document, const RDimAngular3PData& data);
44
45public:
47 RDimAngular3PData(const RDimensionData& dimData,
48 const RVector& center,
49 const RVector& extensionLine1End,
50 const RVector& extensionLine2End);
51
52 virtual RS::EntityType getType() const {
54 }
55 virtual bool isValid() const;
56 virtual bool isSane() const;
57
59 return center;
60 }
61
62 void setCenter(const RVector& p) {
63 center = p;
64 }
65
67 extensionLine1End = p;
68 }
69
71 return extensionLine1End;
72 }
73
75 extensionLine2End = p;
76 }
77
79 return extensionLine2End;
80 }
81
82 void setDimArcPosition(const RVector& p) {
84 }
85
87 return getDefinitionPoint();
88 }
89
90 virtual QList<RRefPoint> getReferencePoints(RS::ProjectionRenderingHint hint = RS::RenderTop) const;
91
92 virtual bool moveReferencePoint(const RVector& referencePoint, const RVector& targetPoint, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
93
94 virtual bool move(const RVector& offset);
95 virtual bool rotate(double rotation, const RVector& center);
96 virtual bool scale(const RVector& scaleFactors, const RVector& center);
97 virtual bool mirror(const RLine& axis);
98
99 bool getAngles(double& ang1, double& ang2,
100 bool& reversed,
101 RVector& p1, RVector& p2) const;
102
103 virtual void to2D() {
105 center.z = 0.0;
106 extensionLine1End.z = 0.0;
107 extensionLine2End.z = 0.0;
108 }
109
110private:
118 //RVector dimArcPosition;
119};
120
124Q_DECLARE_METATYPE(QSharedPointer<RDimAngular3PData>)
125
126#endif
Q_DECLARE_METATYPE(RMath *)
Angular dimension entity data class.
Definition RDimAngular3PData.h:39
void setCenter(const RVector &p)
Definition RDimAngular3PData.h:62
virtual RS::EntityType getType() const
Definition RDimAngular3PData.h:52
RVector extensionLine1End
End point of first extension line.
Definition RDimAngular3PData.h:114
void setDimArcPosition(const RVector &p)
Definition RDimAngular3PData.h:82
RVector center
Start point of first extension line.
Definition RDimAngular3PData.h:112
virtual void to2D()
Definition RDimAngular3PData.h:103
RVector getExtensionLine1End() const
Definition RDimAngular3PData.h:70
RVector getDimArcPosition() const
Definition RDimAngular3PData.h:86
RVector getCenter() const
Definition RDimAngular3PData.h:58
void setExtensionLine1End(const RVector &p)
Definition RDimAngular3PData.h:66
RVector extensionLine2End
End point of second extension line.
Definition RDimAngular3PData.h:116
RVector getExtensionLine2End() const
Definition RDimAngular3PData.h:78
void setExtensionLine2End(const RVector &p)
Definition RDimAngular3PData.h:74
Angular dimension from 3 points entity class.
Definition RDimAngular3PEntity.h:38
Angular dimension entity data base class.
Definition RDimAngularData.h:39
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 RDimAngularData.cpp:69
virtual bool isSane() const
Definition RDimAngularData.cpp:51
virtual bool getAngles(double &ang1, double &ang2, bool &reversed, RVector &p1, RVector &p2) const =0
virtual bool isValid() const
Definition RDimAngularData.cpp:44
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const
Definition RDimAngularData.cpp:58
Base class for dimension entity data classes.
Definition RDimensionData.h:44
virtual bool rotate(double rotation, const RVector &center)
Definition RDimensionData.cpp:567
virtual void setDefinitionPoint(const RVector &p)
Definition RDimensionData.h:161
virtual bool move(const RVector &offset)
Moves this entity by the given offset.
Definition RDimensionData.cpp:557
virtual bool mirror(const RLine &axis)
Definition RDimensionData.cpp:609
virtual bool scale(const RVector &scaleFactors, const RVector &center)
Definition RDimensionData.cpp:578
RVector getDefinitionPoint() const
Definition RDimensionData.h:166
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition RDocument.h:78
virtual void to2D()
Definition REntityData.cpp:342
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
@ EntityDimAngular3P
Angular Dimension from 3 points.
Definition RS.h:270
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