QCAD Application Framework
CAD Application Development and Automation.
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
RDimensionData.h
Go to the documentation of this file.
1
#ifndef RDIMENSIONDATA_H
2
#define RDIMENSIONDATA_H
3
4
#include "
RDocument.h
"
5
#include "
REntityData.h
"
6
#include "
RTextData.h
"
7
#include "
RVector.h
"
8
17
class
RDimensionData
:
public
REntityData
{
18
friend
class
RDimensionEntity
;
19
20
protected
:
21
RDimensionData
(
RDocument
*
document
,
const
RDimensionData
& data);
22
23
public
:
24
RDimensionData
(
RDocument
*
document
= NULL);
25
RDimensionData
(
const
RVector
&
definitionPoint
,
26
const
RVector
&
textPositionCenter
,
27
RS::VAlign
valign
,
28
RS::HAlign
halign
,
29
RS::TextLineSpacingStyle
lineSpacingStyle
,
30
double
lineSpacingFactor
,
31
const
QString&
text
,
32
const
QString&
fontName
,
33
double
angle
);
34
35
virtual
RBox
getBoundingBox
()
const
;
36
37
virtual
bool
isValid
()
const
;
38
39
void
setDefinitionPoint
(
const
RVector
& p) {
40
definitionPoint
= p;
41
update
();
42
}
43
44
RVector
getDefinitionPoint
()
const
{
45
return
definitionPoint
;
46
}
47
48
void
setText
(
const
QString& t) {
49
text
= t;
50
update
();
51
}
52
53
QString
getText
()
const
{
54
return
text
;
55
}
56
57
void
setUpperTolerance
(
const
QString& t) {
58
upperTolerance
= t;
59
}
60
61
void
setLowerTolerance
(
const
QString& t) {
62
lowerTolerance
= t;
63
}
64
65
void
setTextPosition
(
const
RVector
& p) {
66
textPositionCenter
= p;
67
textPositionSide
=
RVector::invalid
;
68
update
();
69
}
70
71
RVector
getTextPosition
()
const
{
72
if
(
textPositionSide
.
isValid
()) {
73
return
textPositionSide
;
74
}
75
else
{
76
return
textPositionCenter
;
77
}
78
}
79
80
void
setFontName
(
const
QString& fn) {
81
fontName
= fn;
82
update
();
83
}
84
85
QString
getFontName
()
const
{
86
return
fontName
;
87
}
88
89
virtual
double
getDistanceTo
(
const
RVector
& point,
bool
limited =
true
,
double
range = 0.0,
bool
draft =
false
)
const
;
90
virtual
bool
intersectsWith
(
const
RShape
& shape)
const
;
91
92
virtual
QList<RVector>
getReferencePoints
(
93
RS::ProjectionRenderingHint
hint =
RS::RenderTop
)
const
;
94
95
virtual
bool
moveReferencePoint
(
const
RVector
& referencePoint,
96
const
RVector
& targetPoint);
97
98
virtual
bool
move
(
const
RVector
& offset);
99
virtual
bool
rotate
(
double
rotation,
const
RVector
& center);
100
virtual
bool
scale
(
const
RVector
& scaleFactors,
const
RVector
& center);
101
virtual
bool
mirror
(
const
RLine
& axis);
102
103
double
getDimexo
()
const
;
104
double
getDimexe
()
const
;
105
double
getDimasz
()
const
;
106
double
getDimgap
()
const
;
107
double
getDimtxt
()
const
;
108
bool
useArchTick
()
const
;
109
bool
hasCustomTextPosition
()
const
;
110
void
setCustomTextPosition
(
bool
on);
111
112
QList<QSharedPointer<RShape> >
getDimensionLineShapes
(
113
const
RVector
& p1,
const
RVector
& p2,
114
bool
arrow1,
bool
arrow2)
const
;
115
virtual
QList<QSharedPointer<RShape> >
getArrow
(
116
const
RVector
& position,
double
direction)
const
;
117
RTextData
&
getTextData
()
const
;
118
void
initTextData
()
const
;
119
virtual
void
updateTextData
()
const
;
120
virtual
QString
getMeasurement
(
bool
resolveAutoMeasurement =
true
)
const
;
121
virtual
QString
getAutoMeasurement
()
const
= 0;
122
QString
formatLabel
(
double
distance)
const
;
123
QString
formatAngleLabel
(
double
angle
)
const
;
124
//virtual void updateFromTextPosition() = 0;
125
126
virtual
void
update
()
const
;
127
128
protected
:
130
mutable
RVector
definitionPoint
;
132
mutable
RVector
textPositionCenter
;
133
mutable
RVector
textPositionSide
;
135
RS::VAlign
valign
;
137
RS::HAlign
halign
;
139
RS::TextLineSpacingStyle
lineSpacingStyle
;
141
double
lineSpacingFactor
;
147
QString
text
;
149
QString
upperTolerance
;
151
QString
lowerTolerance
;
153
QString
fontName
;
154
155
mutable
double
defaultAngle
;
157
double
angle
;
158
159
mutable
bool
dirty
;
160
mutable
RTextData
textData
;
161
mutable
RBox
boundingBox
;
162
mutable
double
dimLineLength
;
163
165
mutable
bool
autoTextPos
;
166
};
167
168
Q_DECLARE_METATYPE
(
RDimensionData
*)
169
Q_DECLARE_METATYPE
(QSharedPointer<
RDimensionData
>)
170
171
#endif
src
entity
RDimensionData.h
Generated on Tue Jun 26 2012 18:41:07 for QCAD Application Framework by
1.8.1.1