|
QCAD
Open Source 2D CAD
|
Go to the documentation of this file.
20 #ifndef RDIMENSIONDATA_H
21 #define RDIMENSIONDATA_H
47 const RVector& textPositionCenter,
51 double lineSpacingFactor,
53 const QString& fontName,
64 virtual bool isSane()
const;
72 return definitionPoint;
94 textPositionCenter = p;
101 if (textPositionSide.isValid()) {
102 return textPositionSide;
105 return textPositionCenter;
147 dimScaleOverride = f;
152 return arrow1Flipped;
158 return arrow2Flipped;
172 return extLineFixLength;
175 extLineFixLength = v;
178 void adjustExtensionLineFixLength(
RLine& extLine1,
RLine& extLine2,
bool addDimExe =
true)
const;
180 bool hasSpaceForArrows()
const;
182 virtual double getDistanceTo(
const RVector& point,
bool limited =
true,
double range = 0.0,
bool draft =
false,
double strictRange =
RMAXDOUBLE)
const;
196 double getDimexo()
const;
197 double getDimexe()
const;
198 double getDimasz()
const;
199 double getDimgap()
const;
200 double getDimtxt()
const;
201 bool useArchTick()
const;
206 return lineSpacingStyle;
210 return lineSpacingFactor;
217 QList<QSharedPointer<RShape> > getDimensionLineShapes(
219 bool arrow1,
bool arrow2)
const;
220 virtual QList<QSharedPointer<RShape> > getArrow(
221 const RVector& position,
double direction)
const;
223 void initTextData()
const;
224 virtual void updateTextData()
const;
225 virtual QString
getMeasurement(
bool resolveAutoMeasurement =
true)
const;
228 QString formatLabel(
double distance)
const;
229 QString formatAngleLabel(
double textAngle)
const;
232 virtual void update()
const;
234 QSharedPointer<RBlockReferenceEntity> getDimensionBlockReference()
const;
void setFontName(const QString &fn)
Definition: RDimensionData.h:109
double getLinearFactor() const
Definition: RDimensionData.h:136
RVector textPositionCenter
Middle point of dimension text.
Definition: RDimensionData.h:241
virtual void update() const
Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
Definition: REntityData.h:408
double getDimScale(bool fromDocument=true) const
Definition: RDimensionEntity.h:185
RVector textPositionSide
Middle point of dimension text when automatically moved to the side for lack of space.
Definition: RDimensionData.h:246
double linearFactor
Definition: RDimensionData.h:276
void setDimScale(double f)
Definition: RDimensionData.h:146
double getTextAngle() const
Definition: RDimensionData.h:213
Base class for dimension entity classes.
Definition: RDimensionEntity.h:38
bool dirty
Definition: RDimensionData.h:284
void setArrow1Flipped(bool on)
Definition: RDimensionData.h:154
double extLineFixLength
Definition: RDimensionData.h:282
virtual RBox getBoundingBox(bool ignoreEmpty=false) const
Definition: REntityData.cpp:303
QString upperTolerance
Upper tolerance limit.
Definition: RDimensionData.h:262
virtual void scaleVisualProperties(double scaleFactor)
Definition: REntityData.cpp:605
HAlign
Horizontal alignments.
Definition: RS.h:234
RVector getDefinitionPoint() const
Definition: RDimensionData.h:71
virtual RS::EntityType getType() const
Definition: RDimensionData.h:56
bool isSane() const
Definition: RVector.cpp:67
double getExtLineFixLength() const
Definition: RDimensionData.h:171
void setTextPosition(const RVector &p)
Definition: RDimensionData.h:92
virtual bool isSane() const
Definition: REntityData.h:102
Represents a 3d vector (x/y/z).
Definition: RVector.h:46
bool extLineFix
Definition: RDimensionData.h:281
virtual bool intersectsWith(const RShape &shape) const
Definition: REntityData.cpp:499
RVector definitionPoint
Definition point.
Definition: RDimensionData.h:239
RBox boundingBox
Definition: RDimensionData.h:286
QString lowerTolerance
Lower tolerance limit.
Definition: RDimensionData.h:264
RVector arrow2Pos
Definition: RDimensionData.h:289
EntityType
Entity types used for property handling / filtering.
Definition: RS.h:125
virtual void setDefinitionPoint(const RVector &p)
Definition: RDimensionData.h:66
RDocument * document
Definition: RObject.h:341
virtual bool isValid() const
Definition: REntityData.h:99
bool autoTextPos
True if the textPosition should be automatically calculated.
Definition: RDimensionData.h:292
RTextData textData
Definition: RDimensionData.h:285
#define QCADENTITY_EXPORT
Definition: entity_global.h:10
void setExtLineFix(bool on)
Definition: RDimensionData.h:167
void setCustomTextPosition(bool on)
Definition: RDimensionEntity.h:161
RTextData getTextData() const
Definition: RDimensionEntity.h:129
TextLineSpacingStyle
Line spacing style for texts.
Definition: RS.h:255
Low-level mathematical representation of a line.
Definition: RLine.h:41
void setExtLineFixLength(double v)
Definition: RDimensionData.h:174
double lineSpacingFactor
Line spacing factor.
Definition: RDimensionData.h:254
Interface for geometrical shape classes.
Definition: RShape.h:72
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RTextData.h:37
bool hasCustomTextPosition() const
Definition: RDimensionEntity.h:157
QString fontName
Dimension font name.
Definition: RDimensionData.h:266
Q_DECLARE_METATYPE(RMath *)
RS::HAlign halign
Horizontal alignment.
Definition: RDimensionData.h:250
double getLineSpacingFactor() const
Definition: RDimensionData.h:209
void setLinearFactor(double f)
Definition: RDimensionData.h:140
double dimScaleOverride
Definition: RDimensionData.h:277
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const =0
Base class for all entity data classes.
Definition: REntityData.h:67
double dimLineLength
Definition: RDimensionData.h:287
@ EntityDimension
Any Dimension.
Definition: RS.h:158
void setArrow2Flipped(bool on)
Definition: RDimensionData.h:160
void setDimBlockName(const QString &bn)
Definition: RDimensionData.h:127
RVector arrow1Pos
Definition: RDimensionData.h:288
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition: RDocument.h:72
virtual bool move(const RVector &offset)
Moves this entity by the given offset.
Definition: REntityData.cpp:571
#define RMAXDOUBLE
Definition: RMath.h:63
void setLowerTolerance(const QString &t)
Definition: RDimensionData.h:88
RS::TextLineSpacingStyle getLineSpacingStyle() const
Definition: RDimensionData.h:205
virtual bool scale(const RVector &scaleFactors, const RVector ¢er=RDEFAULT_RVECTOR)
Definition: REntityData.cpp:591
virtual double getMeasuredValue() const
Definition: RDimensionData.h:226
virtual QString getAutoLabel() const
Definition: RDimensionData.h:227
bool arrow1Flipped
Definition: RDimensionData.h:278
virtual bool mirror(const RLine &axis)
Definition: REntityData.cpp:611
bool isArrow1Flipped() const
Definition: RDimensionData.h:151
QString getFontName() const
Definition: RDimensionData.h:114
virtual bool rotate(double rotation, const RVector ¢er=RDEFAULT_RVECTOR)
Definition: REntityData.cpp:581
QString text
Text string entered explicitly by user or null or "<>" for the actual measurement or " " (one blank s...
Definition: RDimensionData.h:260
bool isArrow2Flipped() const
Definition: RDimensionData.h:157
void setText(const QString &t)
Definition: RDimensionData.h:75
RVector getTextPosition() const
Definition: RDimensionData.h:100
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RDimensionData.h:38
bool arrow2Flipped
Definition: RDimensionData.h:279
virtual bool clickReferencePoint(const RVector &referencePoint)
Called when user clicks a reference point.
Definition: REntityData.h:379
ProjectionRenderingHint
Sets the current rendering hint for exports.
Definition: RS.h:185
virtual RVector getPointOnEntity() const
Definition: REntityData.cpp:362
bool hasDimensionBlockReference() const
Definition: RDimensionEntity.h:197
RS::TextLineSpacingStyle lineSpacingStyle
Line spacing style.
Definition: RDimensionData.h:252
double textAngle
Rotation angle of dimension text away from default orientation.
Definition: RDimensionData.h:274
void setUpperTolerance(const QString &t)
Definition: RDimensionData.h:84
bool isExtLineFix() const
Definition: RDimensionData.h:164
double defaultAngle
Definition: RDimensionData.h:272
QString getText() const
Definition: RDimensionData.h:80
QString getMeasurement(bool resolveAutoMeasurement=true) const
Definition: RDimensionEntity.h:125
@ RenderTop
Definition: RS.h:186
Represents a box e.g.
Definition: RBox.h:43
virtual double getDistanceTo(const RVector &point, bool limited=true, double range=0.0, bool draft=false, double strictRange=RMAXDOUBLE) const
Definition: REntityData.cpp:289
static const RVector invalid
invalid vector
Definition: RVector.h:322
QString getDimBlockName() const
Definition: RDimensionData.h:132
QString dimBlockName
Dimension text color.
Definition: RDimensionData.h:270
virtual bool moveReferencePoint(const RVector &referencePoint, const RVector &targetPoint, Qt::KeyboardModifiers modifiers=Qt::NoModifier)=0
Moves the given reference point to the given target point or does nothing if this entity has no refer...
RS::VAlign valign
Vertical alignment.
Definition: RDimensionData.h:248
VAlign
Vertical alignments.
Definition: RS.h:224