BIMHome v1.0.0
BIMHome接口文档说明
DrawViewParameterDefine.h
浏览该文件的文档.
1/************************************************************************
2* @file DrawViewParameterDefine.h
3*
4* @brief 绘图相关参数结构
5*
6* @details
7*
8* @author
9*
10* @version 1.0
11*
12* @date 2025-6-23
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef TECHDRAW_APP_DRAWVIEWPARAMETERDEFINE_H
19#define TECHDRAW_APP_DRAWVIEWPARAMETERDEFINE_H
20
21#include "BHGlobal.h"
22#include <map>
23#include <string>
24#include "Preferences.h"
25#include "LineGroup.h"
26#include "Base/Vector3D.h"
27#include "Base/Meterial/Color.h"
29#include "Base/DefineLineType.h"
30
31namespace App {
32 class IDocumentObject;
33}
34
35namespace TechDraw
36{
37
38 enum class TechDrawExport LineWidthGroup
39 {
44 };
45
46 extern std::map<LineWidthGroup, std::string> TechDrawExport LineWidthGroupMap;
47
48 extern std::map<Base::DefineLineType, std::string> TechDrawExport LineTypeMap;
49
50 // 线型文本对应线型string
51 extern std::map<QString, Base::DefineLineType> TechDrawExport LineTextToTypeMap;
52
53 // 线型对应的线宽系数map
54 extern std::map<QString, double> TechDrawExport LineWidthCoefficient;
55
56
57 enum class TechDrawExport DefineLeaderType {
62 };
63 extern std::map<DefineLeaderType, std::string> TechDrawExport LeaderTypeMap;
64
65 enum class TechDrawExport DefineBubbleType {
66 Circular, // 圆圈
67 Line, // 直线
68 Diamond, // 菱形
69 Rectangle, // 矩形
70 Triangle, // 三角形
71 };
72 extern std::map<DefineBubbleType, std::string> TechDrawExport BubbleTypeMap;
73
74 enum class TechDrawExport FontFamily {
76 };
77 extern std::map<FontFamily, QString> TechDrawExport FontFamilyTypeMap;
78 extern std::map<std::string, FontFamily> TechDrawExport FontFamilyStringToTypeMap;
79
80 struct TechDrawExport FontAttribute
81 {
82 Base::Color mTextColor; // 文本颜色
83 double mFontSize; // 文本字体大小
84 FontFamily mFontFamily; // 文本字体
85 double mFontWidthFactor; // 字体宽度因子
86 bool mFixedfontSize; // 字体大小固定标志位
87 void init() {
88 mTextColor = Base::Color(1, 1, 1);
89 mFontSize = 1.0;
90 mFontFamily = FontFamily::TSSDENG;
91 mFontWidthFactor = 1.0;
92 mFixedfontSize = true;
93 }
95 init();
96 }
97 FontAttribute(double fontsize) {
98 init();
99 mFontSize = fontsize;
100 }
101 FontAttribute(const Base::Color& color) {
102 init();
103 mTextColor = color;
104 }
105 FontAttribute(const FontFamily& fontFamily) {
106 init();
107 mFontFamily = fontFamily;
108 }
109 };
110
111 struct TechDrawExport LineAttribute
112 {
113 Base::DefineLineType mLineType; // 线型
114 Base::Color mLineColor; // 线颜色
115 bool mLineWidthShow; // 线宽显示标志位
116 double mLineWidth; // 线宽
117
118 void init() {
119 mLineColor = Base::Color(1, 1, 1);
120 mLineType = Base::DefineLineType::CONTINUOUS;
121 mLineWidthShow = true;
122 int lgNumber = Preferences::lineGroup();
123 auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber);
124 mLineWidth = lg->getWeight("Thin");
125 }
127 init();
128 }
129 LineAttribute(const Base::Color& color) {
130 init();
131 mLineColor = color;
132 }
133 LineAttribute(double linewidth) {
134 init();
135 mLineWidth = linewidth;
136 }
137 };
138
139 // 气球标注传参结构
140 struct TechDrawExport DrawViewBallonParam
141 {
142 std::string mLabel; // 气球标注文字主文字
143 DefineLeaderType mLeaderType; // 引线方向
144 DefineBubbleType mBubbleShape; // 气泡形状
146 double mRotation; // 旋转角度
147 std::vector<std::string> mAttachedLabel; // 线上附加文字
148 double mLeaderLineOffsetX; // 引线x偏移量
149 double mLeaderLineOffsetY; // 引线y偏移量
150 std::vector<Base::Vector3d> mIntervals; // 多引线间隔
151 FontAttribute mLeaderFontAttr; // 引线文本属性
153 FontAttribute mIndexFontAttr; // 索引文本属性
154 LineAttribute mIndexLineAttr; // 索引线属性
155 double mShapeIndexLength; // 标注形状大小,圆形时代表半径、菱形时代表高度、矩形时代表边长
157 bool isInkLengthZero; //气球标注没有附加文字时,引线上面一段的长度是否为0
159 initData();
160 }
161 void initData() {
162 mLeaderType = DefineLeaderType::TextInRightTopOfArrow;
163 mBubbleShape = DefineBubbleType::Line;
164 mRotation = 0.0;
165 mAttachedLabel.clear();
166 mLeaderLineOffsetX = 200.0;
167 mLeaderLineOffsetY = 200.0;
168 mIntervals.clear();
169 mLeaderFontAttr = FontAttribute();
170 mLeaderLineAttr = LineAttribute();
171 mIndexFontAttr = FontAttribute();
172 mIndexLineAttr = LineAttribute();
173 mShapeIndexLength = 0.0;
174 mScenePoint = false;
175 isInkLengthZero = false;
176 }
177 };
178 // 尺寸标注传参结构
179 // 标注类型结构
180 enum class TechDrawExport DimensionType {
181 DISTANCEX = 0, // 水平长度标注
182 DISTANCEY, // 垂直长度标注
183 DISTANCE, // 对齐长度标注
184 RADIUS, // 半径标注
185 DIAMETER, // 直径标注
186 ANGLEDIMENSION, // 角度标注
187 };
188 extern std::map<DimensionType, std::string> TechDrawExport DimensionTypeMap;
189
190 struct TechDrawExport DrawViewDimensionParam
191 {
192 DimensionType mDimType; // 标注类型
193 std::vector<Base::Vector3d> mLinelist; // 距离标注,数据起点和终点
194 Base::Vector3d mStartPotoffset; // 标注起点偏移量(x左负右正 y上负下正)
195 Base::Vector3d mEntityOffset; // 标注整体偏移量(平移)
196 double mDistance; // 标注文本label与标注起点终点线间距
197 double mLabelOffset; // 标注写文本的横线与标注位置连线之间的距离
198 double mTextToLineDistance; // 标注文本与文本线距离
199 double mAngle; // 标注旋转角度
200 double mCustormDistance; // 标注线文本内容(-1为默认的计算值,非-1为传入的自定义值)
201 FontAttribute mFontAttr; // 文本属性
203; // 引线属性
204 double mLeadLineAngle; // 引线角度(角度值)
206 initData();
207 }
208 void initData() {
209 mLinelist.clear();
210 mStartPotoffset = Base::Vector3d(0, 0, 0);
211 mEntityOffset = Base::Vector3d(0, 0, 0);
212 mDistance = 0;
213 mLabelOffset = 0.0;
214 mAngle = 0;
215 mFontAttr = FontAttribute();
216 mLineAttr = LineAttribute();
217 mCustormDistance = -1;
218 mLeadLineAngle = 0.0;
219 mTextToLineDistance = 0.0;
220 }
221 };
222
223 struct TechDrawExport SectionHatchInfo
224 {
225 std::map<std::string, std::string> sSectionFaceHatch; // 填充区域名称和填充类型对应map
226 bool sfillIfSectionSourceIsEmpty; // 是否填充标记
227 bool sDrawSectionEdge; // 填充区域外边框是否显示
228 bool sFuseBeforeCut; // 传入填充区域是否融合
229 double sDefaultScaleInView; // qt填充比例
230 double sDefaultScaleInDxf; // 导出dxf填充比例
231 char* sHatchType; // 填充类型是pat还是svg等等
233 sSectionFaceHatch.clear();
234 sfillIfSectionSourceIsEmpty = false;
235 sDrawSectionEdge = true;
236 sFuseBeforeCut = true;
237 sDefaultScaleInView = 1.0;
238 sDefaultScaleInDxf = 1.0;
239 sHatchType = "PatHatch";
240 }
241 };
242
243 struct TechDrawExport SectionAreaInfo
244 {
245 bool sFlag; // 是否是区域
248 sFlag(false),
249 sSectionOrigin(Base::Vector3d(0, 0, 0))
250 { }
251 };
252
253 struct TechDrawExport SectionExtraInfo
254 {
255 bool sFlag; // 是否有额外的shape
256 std::string sLabel; // shape对应documentObject的Label
257 int sLineType; // 线型
259 sFlag(false),
260 sLabel(""),
261 sLineType(1)
262 { }
263 };
264
265 // 剖面图传参结构
266 struct TechDrawExport DrawViewSectionParam
267 {
268 std::string mName; // 视图名称
269 std::vector<App::IDocumentObject*> mPartShape; // 剖切或投影对象
270 Base::Vector3d mDirection; // 面向剖切或投影方向的反方向
271 Base::Vector3d mXDirection; // 面向剖切或投影方向,右手指向
272 LineAttribute mAttribute; // 基础属性
273 //
276 std::vector<App::IDocumentObject*> mSectionShape; // 填充对象
278 SectionAreaInfo mAreaInfo; // 剖切区域数据
279 SectionExtraInfo mExtraInfo; // 独立需要绘制的对象
280 bool mCustomcutflag; // 自定义剖切标志位
281 std::vector<App::IDocumentObject*> mCustomCutObjecVec; // 自定义剖切对象列表
282
284 initData();
285 }
286 void initData() {
287 mName = "SectionView";
288 mPartShape.clear();
289 mSectionShape.clear();
290 mAttribute = LineAttribute();
291 int lgNumber = Preferences::lineGroup();
292 auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber);
293 mAttribute.mLineWidth = lg->getWeight("Thick");
294 initCutData();
295 }
296 void initCutData() {
297 mSectionNormal = Base::Vector3d();
298 mDirection = Base::Vector3d();
299 mXDirection = Base::Vector3d();
300 mSectionOrigin = Base::Vector3d();
301 mHatchInfo = SectionHatchInfo();
302 mAreaInfo = SectionAreaInfo();
303 mExtraInfo = SectionExtraInfo();
304 mCustomcutflag = false;
305 mCustomCutObjecVec.clear();
306 }
307 };
308
309 // 模版传参结构
310 struct TechDrawExport DrawViewSketchTemplateParam
311 {
312 float mAmplify; // 放大倍数
313 int mLoadTextFlag; // 文本解析方式(0-不加载text 1-加载text 2-只加载text编号
314 std::map<std::string, std::string> mBalloonIndexMap; // 模版中气球标注索引修改对应map
315 std::string name; // 模版显示名称
316 std::string className; // 模版类名,支持草图模版及其子类
318 initData();
319 }
320 void initData() {
321 className = "TechDraw::DrawViewSketchTemplate";
322 mAmplify = 1.0;
323 mLoadTextFlag = 1;
324 mBalloonIndexMap.clear();
325 }
326 };
327
328 // 集合列表结构
329 struct TechDrawExport DrawViewGeometryListParam {
330 double mAmplify;
331 std::string mName;
333 initData();
334 }
336 initData();
337 mAmplify = amplify;
338 }
340 const std::string& name) {
341 mAmplify = amplify;
342 mName = name;
343 }
344
345 void initData() {
346 mName = "GeometryList";
347 mAmplify = 1.0;
348 }
349 };
350
351 struct TechDrawExport TableSpanInfo
352 {
353 int row;//哪一行
354 int col;//哪一列
355 int rowcount;//合并的行数
356 int colcount;//合并的列数
357 double colwidth = 0.0;//合并后的单元格宽度
358 double rowheight = 0.0;//合并之后的单元格高度
359 std::string Spanstr = " ";
360 TableSpanInfo(int nRow = 0, int nCol = 0, int nRowCount = 0, int nColCount = 0) {
361 row = nRow;
362 col = nCol;
363 rowcount = nRowCount;
364 colcount = nColCount;
365 }
366 };
367
368 enum class TechDrawExport FrameShowFlag
369 {
370 NO_FRAME = 0, // 无边框
371 ALL_FRAME, // 所有框线
372 OUT_FRAME, // 外围边框
373 LEFT_FRAME, // 左侧边框
374 RIGHT_FRAME, // 右侧边框
375 TOP_FRAME, // 顶部边框
376 BOTTOM_FRAME, // 底部边框
377 };
378
379 enum class TechDrawExport TableTextAlignType
380 {
381 TOP_ALIGN = 0, // 顶部对齐
382 BOTTOM_ALIGN, // 底部对齐
383 LEFT_ALIGN, // 左侧对齐
384 RIGHT_ALIGN, // 右侧对齐
385 VERTICAL_CENTER, // 垂直居中
386 HORIZONTAL_CENTER, // 水平居中
387
388 };
389
390 enum class TechDrawExport CellAlignType
391 {
392 TOP = 0, // 顶端对齐
393 BOTTOM, // 底部对齐
394 LEFT, // 左对齐
395 RIGHT, // 右对齐
396 LRCENTER, // 左右居中
397 TBCENTER, // 上下居中
398 };
399
400 struct TechDrawExport TableCellFrame
401 {
402 bool sTop;
403 bool sLeft;
405 bool sRight;
407 sTop = true;
408 sLeft = true;
409 sBottom = true;
410 sRight = true;
411 }
412 void setAllShow() {
413 sTop = true;
414 sLeft = true;
415 sBottom = true;
416 sRight = true;
417 }
418 void setNoFram() {
419 sTop = false;
420 sLeft = false;
421 sBottom = false;
422 sRight = false;
423 }
425 sTop = false;
426 sLeft = false;
427 sBottom = false;
428 sRight = true;
429 }
431 sTop = false;
432 sLeft = true;
433 sBottom = false;
434 sRight = false;
435 }
436 void setTopFrame() {
437 sTop = true;
438 sLeft = false;
439 sBottom = false;
440 sRight = false;
441 }
443 sTop = false;
444 sLeft = false;
445 sBottom = true;
446 sRight = false;
447 }
448 };
449
450 struct TechDrawExport TableCellFrameShowInfo
451 {
452 int sRow;
453 int sCol;
456 FrameShowFlag sFrameShowFlag;
457 };
458
459 // 表格参数结构
460 struct TechDrawExport TabelParam {
463 std::map<int, std::map<int, std::string>> mTableData;
464 std::map<std::string, std::string> mRowHeight;
465 std::map<std::string, std::string> mColWidth;
466 std::vector<TechDraw::TableSpanInfo> mSpanData;
467 std::vector<TableCellFrameShowInfo> mFrameShow;
468 std::map<int, std::map<int, TechDraw::CellAlignType>> mHorAlign;
469 std::map<int, std::map<int, TechDraw::CellAlignType>> mVerAlign;
473 mRowCount = 0;
474 mColCount = 0;
475 mTableData.clear();
476 mRowHeight.clear();
477 mColWidth.clear();
478 mSpanData.clear();
479 mFrameShow.clear();
480 mHorAlign.clear();
481 mVerAlign.clear();
482 mFontAttr = FontAttribute();
483 mLineAttr = LineAttribute();
484 }
485 TabelParam(int rows, int cols,
486 const std::map<int, std::map<int, std::string>>& tabledata) {
487 mFontAttr = FontAttribute();
488 mLineAttr = LineAttribute();
489 mRowCount = rows;
490 mColCount = cols;
491 mTableData = tabledata;
492 mSpanData.clear();
493 mFrameShow.clear();
494 setHorAlign(CellAlignType::LEFT);
495 setVerAlign(CellAlignType::TOP);
496 }
497 void setHorAlign(const CellAlignType& type);
498 void setVerAlign(const CellAlignType& type);
501 std::vector<int> getColTextCountSort();
502
503 /* *判断该单元格是否是合并的单元格
504 * @param row:行号
505 * @param col:列号
506 * @param index:若返回1,合并单元格数据的索引
507 * @return:0:非合并单元格部分
508 * 1:合并单元格部分的第一个格子(第一个格子的文本有效)
509 * 2:合并单元格部分非第一个格子
510 */
511 static int cellIsCombine(const std::vector<TableSpanInfo>& spanData, int row, int col, int& index);
512
513 };
514
515 // 图注参数结构
516 enum class TechDrawExport LineFlag { // 图注下划线标志位
517 NONE = 0, // 没有下划线
518 ONE, // 一条下划线,单线段
519 TWO, // 两条下划线,第一条是多段线,第二条是单线段
520
521 };
522 // 文本和比例尺同时加载时,对象视图原心相对位置
523 enum class TechDrawExport OriginOrientation
524 {
525 GEOMETRICCENTER = 0, // 几何中心
526 LEFTTOP, // 左上
527 LEFTBOTTOM, // 左下
528 RIGHTTOP, // 右上
529 RIGHTBOTTOM, // 右下
530 };
531
532 struct TechDrawExport LabelParam {
533 std::string mText; // 文本
534 LineFlag mLineFlag; // 下划线显示标志位
535 bool mType; // true:比例图注 false:普通文本图注
536 double mTextToFirstLineDistance; // 文本与第一条下划线的距离
537 double mTwoLineDistance; // 两条下划线间距
538 std::string mExpress; // 与父节点相对位置表达式(coe1*a+coe2*b+coe3)
539 FontAttribute mFontAttr; // 文本属性
540 LineAttribute mFirstLineAttr; // 第一条下划线的属性
541 LineAttribute mSecondLineAttr; // 第二条下划线的属性
543 mText = "";
544 mLineFlag = LineFlag::TWO;
545 mType = false;
546 mTextToFirstLineDistance = 0;
547 mTwoLineDistance = 0;
548 mExpress = "1.0*a + 1.0 * b";
549 mFontAttr = FontAttribute();
550 mFirstLineAttr = LineAttribute();
551 mSecondLineAttr = LineAttribute();
552 }
553 LabelParam(const std::string& text,
554 bool type = false,
555 const LineFlag& lineflag = LineFlag::TWO,
556 double textToFirstLineDistance = 0,
557 double twoLineDistance = 0,
558 const std::string& express = "1.0*a + 1.0 * b",
559 const FontAttribute& font = FontAttribute(),
560 const LineAttribute& firstLine = LineAttribute(),
561 const LineAttribute& secondLine = LineAttribute()) {
562 mText = text;
563 mType = type;
564 mLineFlag = lineflag;
565 mTextToFirstLineDistance = textToFirstLineDistance;
566 mTwoLineDistance = twoLineDistance;
567 mExpress = express;
568 mFontAttr = font;
569 mFirstLineAttr = firstLine;
570 mSecondLineAttr = secondLine;
571 }
572 };
573}
574
575#endif // TECHDRAW_APP_DRAWVIEWPARAMETERDEFINE_H
@ Line
Definition CurveTypeDefine.h:36
TWO
Definition DrawViewParameterDefine.h:519
HORIZONTAL_CENTER
Definition DrawViewParameterDefine.h:386
TOP_FRAME
Definition DrawViewParameterDefine.h:375
DISTANCEX
Definition DrawViewParameterDefine.h:181
BOTTOM_FRAME
Definition DrawViewParameterDefine.h:376
Circular
Definition DrawViewParameterDefine.h:66
RIGHT_ALIGN
Definition DrawViewParameterDefine.h:384
LEFTBOTTOM
Definition DrawViewParameterDefine.h:527
TextInRightBottomOfArrow
Definition DrawViewParameterDefine.h:59
LEFT
Definition DrawViewParameterDefine.h:394
ONE
Definition DrawViewParameterDefine.h:518
RIGHT
Definition DrawViewParameterDefine.h:395
LEFTTOP
Definition DrawViewParameterDefine.h:526
Triangle
Definition DrawViewParameterDefine.h:70
LRCENTER
Definition DrawViewParameterDefine.h:396
DISTANCE
Definition DrawViewParameterDefine.h:183
RIGHT_FRAME
Definition DrawViewParameterDefine.h:374
ANGLEDIMENSION
Definition DrawViewParameterDefine.h:186
TBCENTER
Definition DrawViewParameterDefine.h:397
TSSDENG
Definition DrawViewParameterDefine.h:75
BOTTOM
Definition DrawViewParameterDefine.h:393
DISTANCEY
Definition DrawViewParameterDefine.h:182
ALL_FRAME
Definition DrawViewParameterDefine.h:371
TextInLeftBottomOfArrow
Definition DrawViewParameterDefine.h:61
EXTRA
Definition DrawViewParameterDefine.h:43
THICK
Definition DrawViewParameterDefine.h:42
DIAMETER
Definition DrawViewParameterDefine.h:185
GRAPHIC
Definition DrawViewParameterDefine.h:41
LEFT_ALIGN
Definition DrawViewParameterDefine.h:383
NO_FRAME
Definition DrawViewParameterDefine.h:370
THIN
Definition DrawViewParameterDefine.h:40
OUT_FRAME
Definition DrawViewParameterDefine.h:372
TOP
Definition DrawViewParameterDefine.h:392
Rectangle
Definition DrawViewParameterDefine.h:69
Diamond
Definition DrawViewParameterDefine.h:68
LEFT_FRAME
Definition DrawViewParameterDefine.h:373
RADIUS
Definition DrawViewParameterDefine.h:184
TOP_ALIGN
Definition DrawViewParameterDefine.h:381
GEOMETRICCENTER
Definition DrawViewParameterDefine.h:525
TextInRightTopOfArrow
Definition DrawViewParameterDefine.h:58
TextInLeftTopOfArrow
Definition DrawViewParameterDefine.h:60
RIGHTBOTTOM
Definition DrawViewParameterDefine.h:529
BOTTOM_ALIGN
Definition DrawViewParameterDefine.h:382
RIGHTTOP
Definition DrawViewParameterDefine.h:528
VERTICAL_CENTER
Definition DrawViewParameterDefine.h:385
static LineGroup * lineGroupFactory(int groupNumber)
Definition BaseFigureFactory.h:28
Vector3< double > Vector3d
定义一个基于 double 的三维向量类型
Definition Vector3D.h:909
Definition BaseFigureFactory.h:24
std::map< QString, double > TechDrawExport LineWidthCoefficient
std::map< DefineLeaderType, std::string > TechDrawExport LeaderTypeMap
std::map< DimensionType, std::string > TechDrawExport DimensionTypeMap
std::map< QString, Base::DefineLineType > TechDrawExport LineTextToTypeMap
std::map< Base::DefineLineType, std::string > TechDrawExport LineTypeMap
std::map< std::string, FontFamily > TechDrawExport FontFamilyStringToTypeMap
std::map< FontFamily, QString > TechDrawExport FontFamilyTypeMap
std::map< DefineBubbleType, std::string > TechDrawExport BubbleTypeMap
std::map< LineWidthGroup, std::string > TechDrawExport LineWidthGroupMap
Definition ArrowPropEnum.h:26
void initData()
Definition DrawViewParameterDefine.h:161
std::string mLabel
Definition DrawViewParameterDefine.h:142
double mRotation
Definition DrawViewParameterDefine.h:146
double mLeaderLineOffsetX
Definition DrawViewParameterDefine.h:148
DefineBubbleType mBubbleShape
Definition DrawViewParameterDefine.h:144
FontAttribute mIndexFontAttr
Definition DrawViewParameterDefine.h:153
bool isInkLengthZero
Definition DrawViewParameterDefine.h:157
DrawViewBallonParam()
Definition DrawViewParameterDefine.h:158
FontAttribute mLeaderFontAttr
Definition DrawViewParameterDefine.h:151
std::vector< Base::Vector3d > mIntervals
Definition DrawViewParameterDefine.h:150
double mLeaderLineOffsetY
Definition DrawViewParameterDefine.h:149
double mShapeIndexLength
Definition DrawViewParameterDefine.h:155
std::vector< std::string > mAttachedLabel
Definition DrawViewParameterDefine.h:147
LineAttribute mLeaderLineAttr
Definition DrawViewParameterDefine.h:152
DefineLeaderType mLeaderType
Definition DrawViewParameterDefine.h:143
bool mScenePoint
Definition DrawViewParameterDefine.h:156
LineAttribute mIndexLineAttr
Definition DrawViewParameterDefine.h:154
Base::Vector3d mBasePt
Definition DrawViewParameterDefine.h:145
Definition DrawViewParameterDefine.h:141
Base::Vector3d mStartPotoffset
Definition DrawViewParameterDefine.h:194
void initData()
Definition DrawViewParameterDefine.h:208
LineAttribute mLineAttr
Definition DrawViewParameterDefine.h:203
Base::Vector3d mEntityOffset
Definition DrawViewParameterDefine.h:195
double mLeadLineAngle
Definition DrawViewParameterDefine.h:204
double mAngle
Definition DrawViewParameterDefine.h:199
double mDistance
Definition DrawViewParameterDefine.h:196
DrawViewDimensionParam()
Definition DrawViewParameterDefine.h:205
FontAttribute mFontAttr
Definition DrawViewParameterDefine.h:201
DimensionType mDimType
Definition DrawViewParameterDefine.h:192
std::vector< Base::Vector3d > mLinelist
Definition DrawViewParameterDefine.h:193
double mCustormDistance
Definition DrawViewParameterDefine.h:200
double mLabelOffset
Definition DrawViewParameterDefine.h:197
double mTextToLineDistance
Definition DrawViewParameterDefine.h:198
Definition DrawViewParameterDefine.h:191
void initData()
Definition DrawViewParameterDefine.h:345
double mAmplify
Definition DrawViewParameterDefine.h:330
DrawViewGeometryListParam()
Definition DrawViewParameterDefine.h:332
DrawViewGeometryListParam(double amplify, const std::string &name)
Definition DrawViewParameterDefine.h:339
std::string mName
Definition DrawViewParameterDefine.h:331
DrawViewGeometryListParam(double amplify)
Definition DrawViewParameterDefine.h:335
Definition DrawViewParameterDefine.h:329
void initData()
Definition DrawViewParameterDefine.h:286
std::vector< App::IDocumentObject * > mPartShape
Definition DrawViewParameterDefine.h:269
LineAttribute mAttribute
Definition DrawViewParameterDefine.h:272
Base::Vector3d mXDirection
Definition DrawViewParameterDefine.h:271
Base::Vector3d mSectionNormal
Definition DrawViewParameterDefine.h:274
std::vector< App::IDocumentObject * > mCustomCutObjecVec
Definition DrawViewParameterDefine.h:281
SectionAreaInfo mAreaInfo
Definition DrawViewParameterDefine.h:278
std::string mName
Definition DrawViewParameterDefine.h:268
SectionExtraInfo mExtraInfo
Definition DrawViewParameterDefine.h:279
Base::Vector3d mSectionOrigin
Definition DrawViewParameterDefine.h:275
bool mCustomcutflag
Definition DrawViewParameterDefine.h:280
Base::Vector3d mDirection
Definition DrawViewParameterDefine.h:270
SectionHatchInfo mHatchInfo
Definition DrawViewParameterDefine.h:277
DrawViewSectionParam()
Definition DrawViewParameterDefine.h:283
std::vector< App::IDocumentObject * > mSectionShape
Definition DrawViewParameterDefine.h:276
void initCutData()
Definition DrawViewParameterDefine.h:296
Definition DrawViewParameterDefine.h:267
void initData()
Definition DrawViewParameterDefine.h:320
std::map< std::string, std::string > mBalloonIndexMap
Definition DrawViewParameterDefine.h:314
int mLoadTextFlag
Definition DrawViewParameterDefine.h:313
float mAmplify
Definition DrawViewParameterDefine.h:312
std::string className
Definition DrawViewParameterDefine.h:316
std::string name
Definition DrawViewParameterDefine.h:315
DrawViewSketchTemplateParam()
Definition DrawViewParameterDefine.h:317
Definition DrawViewParameterDefine.h:311
void init()
Definition DrawViewParameterDefine.h:87
bool mFixedfontSize
Definition DrawViewParameterDefine.h:86
FontAttribute(double fontsize)
Definition DrawViewParameterDefine.h:97
Base::Color mTextColor
Definition DrawViewParameterDefine.h:82
FontFamily mFontFamily
Definition DrawViewParameterDefine.h:84
FontAttribute()
Definition DrawViewParameterDefine.h:94
double mFontSize
Definition DrawViewParameterDefine.h:83
double mFontWidthFactor
Definition DrawViewParameterDefine.h:85
FontAttribute(const FontFamily &fontFamily)
Definition DrawViewParameterDefine.h:105
FontAttribute(const Base::Color &color)
Definition DrawViewParameterDefine.h:101
Definition DrawViewParameterDefine.h:81
LineAttribute mFirstLineAttr
Definition DrawViewParameterDefine.h:540
std::string mText
Definition DrawViewParameterDefine.h:533
std::string mExpress
Definition DrawViewParameterDefine.h:538
FontAttribute mFontAttr
Definition DrawViewParameterDefine.h:539
double mTwoLineDistance
Definition DrawViewParameterDefine.h:537
LineFlag mLineFlag
Definition DrawViewParameterDefine.h:534
double mTextToFirstLineDistance
Definition DrawViewParameterDefine.h:536
LabelParam()
Definition DrawViewParameterDefine.h:542
LineAttribute mSecondLineAttr
Definition DrawViewParameterDefine.h:541
bool mType
Definition DrawViewParameterDefine.h:535
LabelParam(const std::string &text, bool type=false, const LineFlag &lineflag=LineFlag::TWO, double textToFirstLineDistance=0, double twoLineDistance=0, const std::string &express="1.0*a + 1.0 * b", const FontAttribute &font=FontAttribute(), const LineAttribute &firstLine=LineAttribute(), const LineAttribute &secondLine=LineAttribute())
Definition DrawViewParameterDefine.h:553
Definition DrawViewParameterDefine.h:532
void init()
Definition DrawViewParameterDefine.h:118
LineAttribute()
Definition DrawViewParameterDefine.h:126
Base::Color mLineColor
Definition DrawViewParameterDefine.h:114
LineAttribute(const Base::Color &color)
Definition DrawViewParameterDefine.h:129
LineAttribute(double linewidth)
Definition DrawViewParameterDefine.h:133
bool mLineWidthShow
Definition DrawViewParameterDefine.h:115
double mLineWidth
Definition DrawViewParameterDefine.h:116
Base::DefineLineType mLineType
Definition DrawViewParameterDefine.h:113
Definition DrawViewParameterDefine.h:112
bool sFlag
Definition DrawViewParameterDefine.h:245
Base::Vector3d sSectionOrigin
Definition DrawViewParameterDefine.h:246
SectionAreaInfo()
Definition DrawViewParameterDefine.h:247
Definition DrawViewParameterDefine.h:244
bool sFlag
Definition DrawViewParameterDefine.h:255
int sLineType
Definition DrawViewParameterDefine.h:257
SectionExtraInfo()
Definition DrawViewParameterDefine.h:258
std::string sLabel
Definition DrawViewParameterDefine.h:256
Definition DrawViewParameterDefine.h:254
bool sfillIfSectionSourceIsEmpty
Definition DrawViewParameterDefine.h:226
double sDefaultScaleInDxf
Definition DrawViewParameterDefine.h:230
bool sFuseBeforeCut
Definition DrawViewParameterDefine.h:228
SectionHatchInfo()
Definition DrawViewParameterDefine.h:232
bool sDrawSectionEdge
Definition DrawViewParameterDefine.h:227
double sDefaultScaleInView
Definition DrawViewParameterDefine.h:229
std::map< std::string, std::string > sSectionFaceHatch
Definition DrawViewParameterDefine.h:225
char * sHatchType
Definition DrawViewParameterDefine.h:231
Definition DrawViewParameterDefine.h:224
void setHorAlign(const CellAlignType &type)
LineAttribute mLineAttr
Definition DrawViewParameterDefine.h:471
std::map< int, std::map< int, TechDraw::CellAlignType > > mHorAlign
Definition DrawViewParameterDefine.h:468
TabelParam(int rows, int cols, const std::map< int, std::map< int, std::string > > &tabledata)
Definition DrawViewParameterDefine.h:485
int mRowCount
Definition DrawViewParameterDefine.h:461
void setVerAlign(const CellAlignType &type)
std::vector< TechDraw::TableSpanInfo > mSpanData
Definition DrawViewParameterDefine.h:466
TabelParam()
Definition DrawViewParameterDefine.h:472
int mColCount
Definition DrawViewParameterDefine.h:462
std::map< std::string, std::string > mColWidth
Definition DrawViewParameterDefine.h:465
static int cellIsCombine(const std::vector< TableSpanInfo > &spanData, int row, int col, int &index)
FontAttribute mFontAttr
Definition DrawViewParameterDefine.h:470
std::map< std::string, std::string > mRowHeight
Definition DrawViewParameterDefine.h:464
std::map< int, std::map< int, TechDraw::CellAlignType > > mVerAlign
Definition DrawViewParameterDefine.h:469
std::map< int, std::map< int, std::string > > mTableData
Definition DrawViewParameterDefine.h:463
std::vector< TableCellFrameShowInfo > mFrameShow
Definition DrawViewParameterDefine.h:467
std::vector< int > getColTextCountSort()
Definition DrawViewParameterDefine.h:460
bool sBottom
Definition DrawViewParameterDefine.h:404
void setRightFrame()
Definition DrawViewParameterDefine.h:424
bool sLeft
Definition DrawViewParameterDefine.h:403
TableCellFrame()
Definition DrawViewParameterDefine.h:406
void setBottomFrame()
Definition DrawViewParameterDefine.h:442
void setNoFram()
Definition DrawViewParameterDefine.h:418
void setLeftFrame()
Definition DrawViewParameterDefine.h:430
void setAllShow()
Definition DrawViewParameterDefine.h:412
bool sTop
Definition DrawViewParameterDefine.h:402
void setTopFrame()
Definition DrawViewParameterDefine.h:436
bool sRight
Definition DrawViewParameterDefine.h:405
Definition DrawViewParameterDefine.h:401
int sRowCount
Definition DrawViewParameterDefine.h:454
int sCol
Definition DrawViewParameterDefine.h:453
int sRow
Definition DrawViewParameterDefine.h:452
int sColCount
Definition DrawViewParameterDefine.h:455
FrameShowFlag sFrameShowFlag
Definition DrawViewParameterDefine.h:456
Definition DrawViewParameterDefine.h:451
TableSpanInfo(int nRow=0, int nCol=0, int nRowCount=0, int nColCount=0)
Definition DrawViewParameterDefine.h:360
int rowcount
Definition DrawViewParameterDefine.h:355
int colcount
Definition DrawViewParameterDefine.h:356
int row
Definition DrawViewParameterDefine.h:353
int col
Definition DrawViewParameterDefine.h:354
Definition DrawViewParameterDefine.h:352