QCAD
Open Source 2D CAD
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 "RArc.h"
26 #include "RDocument.h"
27 #include "RDimensionData.h"
28 #include "RLine.h"
29 #include "RVector.h"
30 
39  friend class RDimAngularEntity;
40 
41 protected:
43 
44 public:
46  RDimAngularData(const RDimensionData& dimData);
47 
48  virtual RS::EntityType getType() const {
49  return RS::EntityDimAngular;
50  }
51  virtual bool isValid() const;
52  virtual bool isSane() const;
53 
54  virtual void setExtensionLine1End(const RVector& p) = 0;
55  virtual RVector getExtensionLine1End() const = 0;
56  virtual void setExtensionLine2End(const RVector& p) = 0;
57  virtual RVector getExtensionLine2End() const = 0;
58  virtual void setDimArcPosition(const RVector& p) = 0;
59  virtual RVector getDimArcPosition() const = 0;
60 
61  virtual QList<RRefPoint> getReferencePoints(RS::ProjectionRenderingHint hint = RS::RenderTop) const;
62 
63  virtual bool moveReferencePoint(const RVector& referencePoint, const RVector& targetPoint, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
64 
65  /*
66  virtual bool move(const RVector& offset);
67  virtual bool rotate(double rotation, const RVector& center);
68  virtual bool scale(const RVector& scaleFactors, const RVector& center);
69  virtual bool mirror(const RLine& axis);
70  */
71 
72  virtual QList<QSharedPointer<RShape> > getShapes(const RBox& queryBox = RDEFAULT_RBOX, bool ignoreComplex = false, bool segment = false) const;
73  double getAngle() const;
74  virtual bool getAngles(double& ang1, double& ang2,
75  bool& reversed,
76  RVector& p1, RVector& p2) const = 0;
77  virtual RVector getCenter() const = 0;
78  virtual double getMeasuredValue() const;
79  virtual QString getAutoLabel() const;
80 
81  virtual RArc getDimensionArc() const;
82 };
83 
86 Q_DECLARE_METATYPE(QSharedPointer<RDimAngularData>)
87 
88 #endif
RDimAngularEntity::getDimensionArc
virtual RArc getDimensionArc() const
Definition: RDimAngularEntity.h:124
RDimAngularData::getExtensionLine1End
virtual RVector getExtensionLine1End() const =0
RDimensionData.h
RDimAngularData::getDimArcPosition
virtual RVector getDimArcPosition() const =0
RVector
Represents a 3d vector (x/y/z).
Definition: RVector.h:46
RS::EntityType
EntityType
Entity types used for property handling / filtering.
Definition: RS.h:125
RDimAngularData::setExtensionLine1End
virtual void setExtensionLine1End(const RVector &p)=0
RLine.h
RObject::document
RDocument * document
Definition: RObject.h:341
RDimensionData::isSane
virtual bool isSane() const
Definition: RDimensionData.cpp:129
RArc
Low-level mathematical representation of an arc.
Definition: RArc.h:40
QCADENTITY_EXPORT
#define QCADENTITY_EXPORT
Definition: entity_global.h:10
RS::EntityDimAngular
@ EntityDimAngular
Angular Dimension.
Definition: RS.h:164
RDocument.h
RVector.h
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(RMath *)
RDimensionData::isValid
virtual bool isValid() const
Definition: RDimensionData.cpp:125
RDocument
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition: RDocument.h:72
RDimensionData::getReferencePoints
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const
Definition: RDimensionData.cpp:180
RDimensionData::getMeasuredValue
virtual double getMeasuredValue() const
Definition: RDimensionData.h:226
RDimensionData::getAutoLabel
virtual QString getAutoLabel() const
Definition: RDimensionData.h:227
RDimAngularData::getCenter
virtual RVector getCenter() const =0
RDimensionData::moveReferencePoint
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:212
RArc.h
RDimensionData
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RDimensionData.h:38
RS::ProjectionRenderingHint
ProjectionRenderingHint
Sets the current rendering hint for exports.
Definition: RS.h:185
RDimAngularData::getAngles
virtual bool getAngles(double &ang1, double &ang2, bool &reversed, RVector &p1, RVector &p2) const =0
RDEFAULT_RBOX
#define RDEFAULT_RBOX
Definition: RBox.h:32
RDimAngularData::getType
virtual RS::EntityType getType() const
Definition: RDimAngularData.h:48
RDimAngularData::setExtensionLine2End
virtual void setExtensionLine2End(const RVector &p)=0
REntityData::getShapes
virtual QList< QSharedPointer< RShape > > getShapes(const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=false, bool segment=false) const
Definition: REntityData.h:113
RS::RenderTop
@ RenderTop
Definition: RS.h:186
RBox
Represents a box e.g.
Definition: RBox.h:43
entity_global.h
RDimAngularEntity
Angular dimension entity base class.
Definition: RDimAngularEntity.h:38
RDimAngularData
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RDimAngularData.h:38
RDimAngularData::setDimArcPosition
virtual void setDimArcPosition(const RVector &p)=0
RDimAngularData::getExtensionLine2End
virtual RVector getExtensionLine2End() const =0