20#ifndef RDIMENSIONENTITY_H
21#define RDIMENSIONENTITY_H
124 virtual QPair<QVariant, RPropertyAttributes>
getProperty(
126 bool humanReadable =
false,
bool noAttributes =
false,
bool showOnRequest =
false);
130 static void renderDimensionText(
RExporter& e,
const RDocument* doc,
RTextData& textData,
bool isSelected=
false,
bool forceSelected=
false);
137 getData().clearStyleOverrides();
141 getData().setDefinitionPoint(p);
145 return getData().getDefinitionPoint();
157 return getData().getMeasurement(resolveAutoMeasurement);
161 return getData().getTextData();
165 getData().updateBoundingBox(b);
168 getData().updateTextPositionCenter(p);
182 return getData().getTextPosition();
190 return getData().getFontName();
202 return getData().hasCustomTextPosition();
206 getData().setCustomTextPosition(on);
210 return getData().getLineSpacingStyle();
214 return getData().getLineSpacingFactor();
218 return getData().getTextRotation();
222 return getData().getLinearFactor();
230 return getData().getDimscale();
238 return getData().getDimBlockName();
242 return getData().hasDimensionBlockReference();
246 return getData().isArrow1Flipped();
249 getData().setArrow1Flipped(on);
252 return getData().isArrow2Flipped();
255 getData().setArrow2Flipped(on);
259 return getData().isExtLineFix();
266 return getData().getExtLineFixLength();
269 getData().setExtLineFixLength(v);
273 return getData().hasOverride(key);
276 static QSet<QString> getDimensionBlockNames(
RDocument* doc);
279 virtual void print(QDebug dbg)
const;
Q_DECLARE_METATYPE(RMath *)
Represents a box e.g.
Definition RBox.h:46
Base class for dimension entity data classes.
Definition RDimensionData.h:44
Base class for dimension entity classes.
Definition RDimensionEntity.h:38
void updateTextPositionCenter(const RVector &p) const
Definition RDimensionEntity.h:167
void clearStyleOverrides()
Definition RDimensionEntity.h:136
static RPropertyTypeId PropertyType
Definition RDimensionEntity.h:47
RVector getDefinitionPoint() const
Definition RDimensionEntity.h:144
static RPropertyTypeId PropertyAutoTextPos
Definition RDimensionEntity.h:70
bool isExtLineFix() const
Definition RDimensionEntity.h:258
static RPropertyTypeId PropertyDimzin
Definition RDimensionEntity.h:101
static RPropertyTypeId PropertyProtected
Definition RDimensionEntity.h:45
static RPropertyTypeId PropertyHandle
Definition RDimensionEntity.h:44
static RPropertyTypeId PropertyExtLineFix
Definition RDimensionEntity.h:77
static RPropertyTypeId PropertyTextRotation
Definition RDimensionEntity.h:72
QString getMeasurement(bool resolveAutoMeasurement=true) const
Definition RDimensionEntity.h:156
void setArrow1Flipped(bool on)
Definition RDimensionEntity.h:248
bool hasOverride(RS::KnownVariable key) const
Definition RDimensionEntity.h:272
static RPropertyTypeId PropertyLinetype
Definition RDimensionEntity.h:50
static RS::EntityType getRtti()
Definition RDimensionEntity.h:114
void setExtLineFix(bool on)
Definition RDimensionEntity.h:261
void updateShapes(const QList< QSharedPointer< RShape > > &s) const
Definition RDimensionEntity.h:173
QString getDimBlockName() const
Definition RDimensionEntity.h:237
static RPropertyTypeId PropertyDimtih
Definition RDimensionEntity.h:96
static RPropertyTypeId PropertyDimdec
Definition RDimensionEntity.h:99
double getTextRotation() const
Definition RDimensionEntity.h:217
double getLinearFactor() const
Definition RDimensionEntity.h:221
static RPropertyTypeId PropertyDimexo
Definition RDimensionEntity.h:94
static RPropertyTypeId PropertyDimtsz
Definition RDimensionEntity.h:97
static RPropertyTypeId PropertyMeasuredValue
Definition RDimensionEntity.h:85
static RPropertyTypeId PropertyBlock
Definition RDimensionEntity.h:48
static RPropertyTypeId PropertyMiddleOfTextY
Definition RDimensionEntity.h:61
static RPropertyTypeId PropertyDimtxt
Definition RDimensionEntity.h:89
static RPropertyTypeId PropertyDimexe
Definition RDimensionEntity.h:93
static RPropertyTypeId PropertyFontName
Definition RDimensionEntity.h:71
static RPropertyTypeId PropertyUpperTolerance
Definition RDimensionEntity.h:64
static RPropertyTypeId PropertyWorkingSet
Definition RDimensionEntity.h:46
void setDefinitionPoint(const RVector &p)
Definition RDimensionEntity.h:140
static RPropertyTypeId PropertyText
Definition RDimensionEntity.h:63
static RPropertyTypeId PropertyDrawOrder
Definition RDimensionEntity.h:55
RVector getTextPosition() const
Definition RDimensionEntity.h:181
static RPropertyTypeId PropertyArchTick
Definition RDimensionEntity.h:105
static RPropertyTypeId PropertyDimazin
Definition RDimensionEntity.h:104
void updateTextData(const RTextData &d) const
Definition RDimensionEntity.h:170
virtual const RDimensionData & getData() const =0
static RPropertyTypeId PropertyAutoLabel
Definition RDimensionEntity.h:84
void setText(const QString &t)
Definition RDimensionEntity.h:148
static RPropertyTypeId PropertyDimgap
Definition RDimensionEntity.h:90
void setCustomTextPosition(bool on)
Definition RDimensionEntity.h:205
static RPropertyTypeId PropertyCustom
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RDimensionEntity.h:43
static RPropertyTypeId PropertyLowerTolerance
Definition RDimensionEntity.h:65
RTextData getTextData() const
Definition RDimensionEntity.h:160
virtual RDimensionData & getData()=0
double getExtLineFixLength() const
Definition RDimensionEntity.h:265
static RPropertyTypeId PropertyDimtad
Definition RDimensionEntity.h:95
bool isArrow1Flipped() const
Definition RDimensionEntity.h:245
static RPropertyTypeId PropertyDimasz
Definition RDimensionEntity.h:91
static RPropertyTypeId PropertyDimclrt
Definition RDimensionEntity.h:106
static RPropertyTypeId PropertyDimlfac
Definition RDimensionEntity.h:88
static RPropertyTypeId PropertyDimdsep
Definition RDimensionEntity.h:100
QString getText() const
Definition RDimensionEntity.h:152
static RPropertyTypeId PropertyLayer
Definition RDimensionEntity.h:49
QString getFontName() const
Definition RDimensionEntity.h:189
double getLineSpacingFactor() const
Definition RDimensionEntity.h:213
void setArrow2Flipped(bool on)
Definition RDimensionEntity.h:254
bool isArrow2Flipped() const
Definition RDimensionEntity.h:251
void setTextPosition(const RVector &p)
Definition RDimensionEntity.h:177
void setDimscale(double f)
Definition RDimensionEntity.h:233
void setExtLineFixLength(double v)
Definition RDimensionEntity.h:268
static RPropertyTypeId PropertyDefinitionPointY
Definition RDimensionEntity.h:58
void setLinearFactor(double f)
Definition RDimensionEntity.h:225
static RPropertyTypeId PropertyDefinitionPointX
Definition RDimensionEntity.h:57
static RPropertyTypeId PropertyArrow2Flipped
Definition RDimensionEntity.h:75
bool hasDimensionBlockReference() const
Definition RDimensionEntity.h:241
static RPropertyTypeId PropertyDimaunit
Definition RDimensionEntity.h:102
double getDimscale() const
Definition RDimensionEntity.h:229
static RPropertyTypeId PropertyColor
Definition RDimensionEntity.h:53
static RPropertyTypeId PropertyMiddleOfTextX
Definition RDimensionEntity.h:60
static RPropertyTypeId PropertyExtLineFixLength
Definition RDimensionEntity.h:78
static RPropertyTypeId PropertyDimadec
Definition RDimensionEntity.h:103
static RPropertyTypeId PropertyMiddleOfTextZ
Definition RDimensionEntity.h:62
static RPropertyTypeId PropertyArrow1Flipped
Definition RDimensionEntity.h:74
static RPropertyTypeId PropertyDimBlockName
Definition RDimensionEntity.h:69
static QSet< RPropertyTypeId > getStaticPropertyTypeIds()
Definition RDimensionEntity.h:118
bool hasCustomTextPosition() const
Definition RDimensionEntity.h:201
void updateBoundingBox(const RBox &b) const
Definition RDimensionEntity.h:164
void setFontName(const QString &fn)
Definition RDimensionEntity.h:185
RS::TextLineSpacingStyle getLineSpacingStyle() const
Definition RDimensionEntity.h:209
static RPropertyTypeId PropertyLineweight
Definition RDimensionEntity.h:52
static RPropertyTypeId PropertyLinetypeScale
Definition RDimensionEntity.h:51
static RPropertyTypeId PropertyDimscale
Definition RDimensionEntity.h:87
static RPropertyTypeId PropertyDimlunit
Definition RDimensionEntity.h:98
static RPropertyTypeId PropertyDefinitionPointZ
Definition RDimensionEntity.h:59
static RPropertyTypeId PropertyDisplayedColor
Definition RDimensionEntity.h:54
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition RDocument.h:78
Base class for all entity classes.
Definition REntity.h:63
virtual REntityData & getData()=0
virtual QPair< QVariant, RPropertyAttributes > getProperty(RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
Definition REntity.cpp:236
static void init()
Definition REntity.cpp:89
virtual bool setProperty(RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
Sets the given property to the given value.
Definition REntity.cpp:338
virtual void exportEntity(RExporter &e, bool preview=false, bool forceSelected=false) const =0
Exports the entity to the given exporter.
virtual void print(QDebug dbg) const
Stream operator for QDebug.
Definition REntity.cpp:487
Abstract base class for exporters.
Definition RExporter.h:78
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RPropertyTypeId.h:54
static QSet< RPropertyTypeId > getPropertyTypeIds(RS::EntityType type, RPropertyAttributes::Option=RPropertyAttributes::NoOptions)
Gets all property type IDs that where registered for the given class.
Definition RPropertyTypeId.cpp:283
EntityType
Entity types used for property handling / filtering.
Definition RS.h:227
@ EntityDimension
Any Dimension.
Definition RS.h:262
TextLineSpacingStyle
Line spacing style for texts.
Definition RS.h:363
KnownVariable
Well established document variables.
Definition RS.h:501
Text entity data class.
Definition RTextData.h:38
Transaction implementation.
Definition RTransaction.h:73
Represents a 3d vector (x/y/z).
Definition RVector.h:47
#define QCADENTITY_EXPORT
Definition entity_global.h:10
char s
Definition opennurbs_string.cpp:32
#define NULL
Definition opennurbs_system.h:256