QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
RDimAngularData.h
Go to the documentation of this file.
1
20#ifndef RDimAngularData_H
21#define RDimAngularData_H
22
23#include "entity_global.h"
24
25#include "RDimensionData.h"
26
27class RArc;
28class RDocument;
29class RRefPoint;
30class RVector;
31
40 friend class RDimAngularEntity;
41
42protected:
43 RDimAngularData(RDocument* document, const RDimAngularData& data);
44
45public:
47 RDimAngularData(const RDimensionData& dimData);
48
49 virtual RS::EntityType getType() const {
51 }
52 virtual bool isValid() const;
53 virtual bool isSane() const;
54
55 virtual void setExtensionLine1End(const RVector& p) = 0;
56 virtual RVector getExtensionLine1End() const = 0;
57 virtual void setExtensionLine2End(const RVector& p) = 0;
58 virtual RVector getExtensionLine2End() const = 0;
59 virtual void setDimArcPosition(const RVector& p) = 0;
60 virtual RVector getDimArcPosition() const = 0;
61
62 virtual QList<RRefPoint> getReferencePoints(RS::ProjectionRenderingHint hint = RS::RenderTop) const;
63
64 virtual bool moveReferencePoint(const RVector& referencePoint, const RVector& targetPoint, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
65
66 /*
67 virtual bool move(const RVector& offset);
68 virtual bool rotate(double rotation, const RVector& center);
69 virtual bool scale(const RVector& scaleFactors, const RVector& center);
70 virtual bool mirror(const RLine& axis);
71 */
72
73 //virtual QList<QSharedPointer<RShape> > getShapes(const RBox& queryBox = RDEFAULT_RBOX, bool ignoreComplex = false, bool segment = false, QList<RObject::Id>* entityIds = NULL) const;
74 double getAngle() const;
75 virtual bool getAngles(double& ang1, double& ang2,
76 bool& reversed,
77 RVector& p1, RVector& p2) const = 0;
78 virtual RVector getCenter() const = 0;
79 virtual double getMeasuredValue() const;
80 virtual QString getAutoLabel() const;
81
82 virtual RArc getDimensionArc() const;
83};
84
87Q_DECLARE_METATYPE(QSharedPointer<RDimAngularData>)
88
89#endif
Q_DECLARE_METATYPE(RMath *)
Low-level mathematical representation of an arc.
Definition RArc.h:42
Angular dimension entity data base class.
Definition RDimAngularData.h:39
virtual void setExtensionLine1End(const RVector &p)=0
virtual bool getAngles(double &ang1, double &ang2, bool &reversed, RVector &p1, RVector &p2) const =0
virtual RVector getExtensionLine2End() const =0
virtual void setExtensionLine2End(const RVector &p)=0
virtual RS::EntityType getType() const
Definition RDimAngularData.h:49
virtual RVector getCenter() const =0
virtual void setDimArcPosition(const RVector &p)=0
virtual RVector getDimArcPosition() const =0
virtual RVector getExtensionLine1End() const =0
Angular dimension entity base class.
Definition RDimAngularEntity.h:39
Base class for dimension entity data classes.
Definition RDimensionData.h:44
virtual bool isSane() const
Definition RDimensionData.cpp:446
virtual QString getAutoLabel() const
Definition RDimensionData.h:568
virtual bool isValid() const
Definition RDimensionData.cpp:442
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const
Definition RDimensionData.cpp:497
virtual double getMeasuredValue() const
Definition RDimensionData.h:567
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 RDimensionData.cpp:529
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
@ EntityDimAngular
Angular Dimension.
Definition RS.h:268
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