• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DomCR / ACadSharp / 12905761471

22 Jan 2025 10:03AM UTC coverage: 2.0% (-74.0%) from 75.963%
12905761471

push

github

DomCR
version 1.0.6

104 of 7676 branches covered (1.35%)

Branch coverage included in aggregate %.

590 of 27024 relevant lines covered (2.18%)

5.13 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/ACadSharp/Objects/MultiLeaderStyle.cs
1
using ACadSharp.Attributes;
2
using ACadSharp.Entities;
3
using ACadSharp.Tables;
4
using CSMath;
5

6
namespace ACadSharp.Objects
7
{
8
        /// <summary>
9
        /// Represents a <see cref="MultiLeaderStyle"/> object.
10
        /// </summary>
11
        /// <remarks>
12
        /// Object name <see cref="DxfFileToken.ObjectMLeaderStyle"/> <br/>
13
        /// Dxf class name <see cref="DxfSubclassMarker.MLeaderStyle"/>
14
        /// </remarks>
15
        [DxfName(DxfFileToken.ObjectMLeaderStyle)]
16
        [DxfSubClass(DxfSubclassMarker.MLeaderStyle)]
17
        public class MultiLeaderStyle : NonGraphicalObject
18
        {
19
                /// <summary>
20
                /// Default multiline style name
21
                /// </summary>
22
                public const string DefaultName = "Standard";
23

24
                /// <summary>
25
                /// Gets the default MLine style
26
                /// </summary>
27
                public static MultiLeaderStyle Default { get { return new MultiLeaderStyle(DefaultName); } }
×
28

29
                /// <inheritdoc/>
30
                public override ObjectType ObjectType => ObjectType.UNLISTED;
×
31

32
                /// <inheritdoc/>
33
                public override string ObjectName => DxfFileToken.ObjectMLeaderStyle;
×
34

35
                /// <inheritdoc/>
36
                public override string SubclassMarker => DxfSubclassMarker.MLeaderStyle;
×
37

38
                /// <summary>
39
                /// Gets or sets a value indicating the content type for the multileader.
40
                /// </summary>
41
                /// <remarks>
42
                /// <para>
43
                /// This value can be overridden by the <see cref="MultiLeader.ContentType"/> property when the
44
                /// <see cref="MultiLeaderPropertyOverrideFlags.ContentType"/> flag is set in the
45
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
46
                /// </para>
47
                /// </remarks>
48
                [DxfCodeValue(170)]
49
                public LeaderContentType ContentType { get; set; }
×
50

51
                //        TODO What is the meaning of this property? Is it relevant for drawing a multileader?
52
                /// <summary>
53
                /// DrawMLeaderOrder Type
54
                /// </summary>
55
                [DxfCodeValue(171)]
56
                public MultiLeaderDrawOrderType MultiLeaderDrawOrder { get; set; }
×
57

58
                //        TODO What is the meaning of this property? Is it relevant for drawing a multileader?
59
                /// <summary>
60
                /// DrawLeaderOrder Type
61
                /// </summary>
62
                [DxfCodeValue(172)]
63
                public LeaderDrawOrderType LeaderDrawOrder { get; set; }
×
64

65
                /// <summary>
66
                /// Gets or sets the max number of segments when a new leader is being created for a multileader.
67
                /// </summary>
68
                /// <remarks>
69
                /// This property supports creating and editing a multileader but has no meaning for
70
                /// the display of multileaders.
71
                /// </remarks>
72
                [DxfCodeValue(90)]
73
                public int MaxLeaderSegmentsPoints { get; set; }
×
74

75
                /// <summary>
76
                /// Gets or sets a snap angle value for the first leader segment when a leader line
77
                /// is being created for the mutileader.
78
                /// </summary>
79
                /// <remarks>
80
                /// This property supports creating and editing a multileader but has no meaning for
81
                /// the display of multileaders.
82
                /// </remarks>
83
                /// <value>
84
                /// An angle value in radians or zero if no angle contstraint is set.
85
                /// </value>
86
                [DxfCodeValue(40)]
87
                public double FirstSegmentAngleConstraint { get; set; }
×
88

89
                /// <summary>
90
                /// Gets or sets a snap angle value for the second leader segment when a leader line
91
                /// is being created for the mutileader.
92
                /// </summary>
93
                /// <remarks>
94
                /// This property supports creating and editing a multileader but has no meaning for
95
                /// the display of multileaders.
96
                /// </remarks>
97
                /// <value>
98
                /// An angle value in radians or zero if no angle contstraint is set.
99
                /// </value>
100
                [DxfCodeValue(41)]
101
                public double SecondSegmentAngleConstraint { get; set; }
×
102

103
                /// <summary>
104
                /// Gets or sets a value indicating whether leaders are to be displayed as polyline,
105
                /// a spline curve or invisible. This setting applies for all leader lines of the
106
                /// multileader.
107
                /// </summary>
108
                /// <remarks>
109
                /// <para>
110
                /// This value can be overridden by the <see cref="MultiLeader.PathType"/> property when the
111
                /// <see cref="MultiLeaderPropertyOverrideFlags.PathType"/> flag is set in the
112
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
113
                /// </para><para>
114
                /// The value for all leader lines can be overridden for each individual leader line by the
115
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.PathType"/> property when the
116
                /// <see cref="LeaderLinePropertOverrideFlags.PathType"/> flag is set in the 
117
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.OverrideFlags"/> property.
118
                /// </para>
119
                /// </remarks>
120
                [DxfCodeValue(173)]
121
                public MultiLeaderPathType PathType { get; set; }
×
122

123
                /// <summary>
124
                /// Gets or sets color to be applied all leader lines of the multileader.
125
                /// </summary>
126
                /// <remarks>
127
                /// <para>
128
                /// This value can be overridden by the <see cref="MultiLeader.LineColor"/> property when the
129
                /// <see cref="MultiLeaderPropertyOverrideFlags.LineColor"/> flag is set in the
130
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
131
                /// </para><para>
132
                /// The value for all leader lines can be overridden for each individual leader line by the
133
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.LineColor"/> property when the
134
                /// <see cref="LeaderLinePropertOverrideFlags.LineColor"/> flag is set in the 
135
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.OverrideFlags"/> property.
136
                /// </para>
137
                /// </remarks>
138
                [DxfCodeValue(91)]
139
                public Color LineColor { get; set; }
×
140

141
                /// <summary>
142
                /// Gets or sets a <see cref="LineType"/> object specifying line-type properties for the
143
                /// musltileader. This setting applies for all leader lines of the multileader.
144
                /// </summary>
145
                /// <remarks>
146
                /// <para>
147
                /// This setting can be overridden by the <see cref="MultiLeader.LeaderLineType"/> property
148
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.LeaderLineType"/> flag is set in the
149
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
150
                /// </para><para>
151
                /// The setting for all leader lines can be overridden for each individual leader line by the
152
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.LineType"/> property when the
153
                /// <see cref="LeaderLinePropertOverrideFlags.LineType"/> flag is set in the 
154
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.OverrideFlags"/> property.
155
                /// </para>
156
                /// </remarks>
157
                [DxfCodeValue(DxfReferenceType.Handle, 340)]
158
                public LineType LeaderLineType { get; set; }
×
159

160
                /// <summary>
161
                /// Gets or sets a value specifying the lineweight to be applied to all leader lines of the multileader.
162
                /// </summary>
163
                /// <remarks>
164
                /// <para>
165
                /// This value can be overridden by the <see cref="MultiLeader.LeaderLineWeight"/> property when the
166
                /// <see cref="MultiLeaderPropertyOverrideFlags.LeaderLineWeight"/> flag is set in the
167
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
168
                /// </para><para>
169
                /// The value for all leader lines can be overridden for each individual leader line by the
170
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.LineWeight"/> property when the
171
                /// <see cref="LeaderLinePropertOverrideFlags.LineWeight"/> flag is set in the 
172
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.OverrideFlags"/> property.
173
                /// </para>
174
                /// </remarks>
175
                [DxfCodeValue(92)]
176
                public LineweightType LeaderLineWeight { get; set; }
×
177

178
                //        TODO It seems that this value indicates that for a new leader that is being created
179
                //                 with this <see cref="MultiLeaderStyle" /> landing i.e. a dogleg is enabled.
180
                //                 But why can this value be overridden?
181
                //
182
                /// <summary>
183
                /// Gets or sets a value indicating whether landing is enabled.
184
                /// </summary>
185
                /// <remarks>
186
                /// <para>
187
                /// This value can be overridden by the <see cref="MultiLeader.EnableLanding"/> property
188
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.EnableLanding"/> flag is set in the
189
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
190
                /// </para>
191
                /// </remarks>
192
                [DxfCodeValue(290)]
193
                public bool EnableLanding { get; set; }
×
194

195
                /// <summary>
196
                /// Gets or sets the landing gap. This is the distance between the leader end point or, if present,
197
                /// the end of the dogleg and the text label or the content block.
198
                /// </summary>
199
                /// <remarks>
200
                /// <para>
201
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.LandingGap"/> property
202
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.LandingGap"/> flag is set in the
203
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
204
                /// </para>
205
                /// </remarks>
206
                [DxfCodeValue(42)]
207
                public double LandingGap { get; set; }
×
208

209
                /// <summary>
210
                /// Gets or sets a value indicating that leader lines are to be drawn with a dogleg.
211
                /// </summary>
212
                /// <remarks>
213
                /// <para>
214
                /// This value can be overridden by the <see cref="MultiLeader.EnableDogleg"/> property
215
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.EnableDogleg"/> flag is set in the
216
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
217
                /// </para><para>
218
                /// Note that this setting has no effect when the <see cref="TextAttachmentDirection"/>
219
                /// is <see cref="TextAttachmentDirectionType.Vertical"/>.
220
                /// </para>
221
                /// </remarks>
222
                [DxfCodeValue(291)]
223
                public bool EnableDogleg { get; set; }
×
224

225
                /// <summary>
226
                /// Gets or sets the landing distance, i.e. the length of the dogleg. 
227
                /// </summary>
228
                /// <remarks>
229
                /// <para>
230
                /// This value can be overridden by the <see cref="MultiLeader.LandingDistance"/> property
231
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.LandingDistance"/> flag is set in the
232
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
233
                /// </para>
234
                /// </remarks>
235
                [DxfCodeValue(43)]
236
                public double LandingDistance { get; set; }
×
237

238
                /// <summary>
239
                /// Gets or sets a text containing the description of this <see cref="MultiLeaderStyle"/>.
240
                /// </summary>
241
                [DxfCodeValue(3)]
242
                public string Description { get; set; }
×
243

244
                /// <summary>
245
                /// Gets or sets a <see cref="BlockRecord"/> representing the arrowhead
246
                /// to be displayed with every leader line.
247
                /// </summary>
248
                /// <remarks>
249
                /// <para>
250
                /// This value can be overridden by the <see cref="MultiLeader.Arrowhead"/> property
251
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.Arrowhead"/> flag is set in the
252
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
253
                /// </para><para>
254
                /// The value for all leader lines can be overridden for each individual leader line by the
255
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.Arrowhead"/> property when the
256
                /// <see cref="LeaderLinePropertOverrideFlags.Arrowhead"/> flag is set in the 
257
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.OverrideFlags"/> property.
258
                /// </para>
259
                /// </remarks>
260
                [DxfCodeValue(DxfReferenceType.Handle, 341)]
261
                public BlockRecord Arrowhead { get; set; }
×
262

263
                /// <summary>
264
                /// Gests or sets the arrowhead size.
265
                /// </summary>
266
                /// <remarks>
267
                /// <para>
268
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.ArrowheadSize"/> property
269
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.ArrowheadSize"/> flag is set in the
270
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
271
                /// </para><para>
272
                /// The value for all leader lines can be overridden for each individual leader line by the
273
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.ArrowheadSize"/> property when the
274
                /// <see cref="LeaderLinePropertOverrideFlags.ArrowheadSize"/> flag is set in the 
275
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.OverrideFlags"/> property.
276
                /// </para>
277
                /// </remarks>
278
                [DxfCodeValue(44)]
279
                public double ArrowheadSize { get; set; }
×
280

281
                /// <summary>
282
                /// Gests or sets a default text that is to be set when a mutileader is being created
283
                /// with this <see cref="MultiLeaderStyle"/>.
284
                /// </summary>
285
                [DxfCodeValue(300)]
286
                public string DefaultTextContents { get; set; }
×
287

288
                /// <summary>
289
                /// Gets or sets the <see cref="TextStyle"/> to be used to display the text label of the
290
                /// multileader.
291
                /// </summary>
292
                /// <remarks>
293
                /// <para>
294
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.TextStyle"/> property
295
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextStyle"/> flag is set in the
296
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
297
                /// </para>
298
                /// </remarks>
299
                [DxfCodeValue(DxfReferenceType.Handle, 342)]
300
                public TextStyle TextStyle { get; set; }
×
301

302
                /// <summary>
303
                /// Gets or sets the Text Left Attachment Type.
304
                /// This value controls the position of the connection point of the leader
305
                /// attached to the left side of the text label.
306
                /// </summary>
307
                /// <remarks>
308
                /// <para>
309
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.TextLeftAttachment"/> property
310
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextLeftAttachment"/> flag is set in the
311
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
312
                /// </para><para>
313
                /// This property is only relevant if <see cref="TextAttachmentDirection"/> is
314
                /// <see cref="TextAttachmentDirectionType.Horizontal"/> and a leader attached
315
                /// to the left side of the text label exists.
316
                /// </para>
317
                /// </remarks>
318
                /// <value>
319
                /// A <see cref="TextAttachmentType"/> having the values 0-8 
320
                /// can be used ("horizontal" attachment types).
321
                /// </value>
322
                [DxfCodeValue(174)]
323
                public TextAttachmentType TextLeftAttachment { get; set; }
×
324

325
                //        TODO How to set this value?
326
                /// <summary>
327
                /// Gets or sets a value indicating the text angle.
328
                /// </summary>
329
                /// <remarks>
330
                /// <para>
331
                /// This value can be overridden by the <see cref="MultiLeader.TextAngle"/> property
332
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextAngle"/> flag is set in the
333
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
334
                /// </para>
335
                /// </remarks>
336
                [DxfCodeValue(175)]
337
                public TextAngleType TextAngle { get; set; }
×
338

339
                /// <summary>
340
                /// Gets or sets the text alignment, i.e. the alignment of text lines if the a multiline
341
                /// text label, relative to the <see cref="MultiLeaderAnnotContext.TextLocation"/>.
342
                /// </summary>
343
                /// <remarks>
344
                /// <para>
345
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.TextAlignment"/> property
346
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextAlignment"/> flag is set in the
347
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
348
                /// </para>
349
                /// </remarks>
350
                [DxfCodeValue(176)]
351
                public TextAlignmentType TextAlignment { get; set; }
×
352

353
                /// <summary>
354
                /// Gets or sets the Text Right Attachment Type.
355
                /// This value controls the position of the connection point of the leader
356
                /// attached to the right side of the text label.
357
                /// </summary>
358
                /// <remarks>
359
                /// <para>
360
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.TextRightAttachment"/> property
361
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextRightAttachment"/> flag is set in the
362
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
363
                /// </para><para>
364
                /// This property is only relevant if <see cref="TextAttachmentDirection"/> is
365
                /// <see cref="TextAttachmentDirectionType.Horizontal"/> and a leader attached
366
                /// to the right side of the text label exists.
367
                /// </para>
368
                /// </remarks>
369
                /// <value>
370
                /// A <see cref="TextAttachmentType"/> having the values 0-8 
371
                /// can be used ("horizontal" attachment types).
372
                /// </value>
373
                [DxfCodeValue(178)]
374
                public TextAttachmentType TextRightAttachment { get; set; }
×
375

376
                /// <summary>
377
                /// Gest or sets the color for the text label of the multileader.
378
                /// </summary>
379
                /// <remarks>
380
                /// <para>
381
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.TextColor"/> property
382
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextColor"/> flag is set in the
383
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
384
                /// </para>
385
                /// </remarks>
386
                [DxfCodeValue(93)]
387
                public Color TextColor { get; set; }
×
388

389
                /// <summary>
390
                /// Gest or sets the text height for the text label of the multileader.
391
                /// </summary>
392
                /// <remarks>
393
                /// <para>
394
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.TextHeight"/> property
395
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextHeight"/> flag is set in the
396
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
397
                /// </para>
398
                /// </remarks>
399
                [DxfCodeValue(45)]
400
                public double TextHeight { get; set; }
×
401

402
                /// <summary>
403
                /// Gets or sets a value indicating that the text label is to be drawn with a frame.
404
                /// </summary>
405
                /// <remarks>
406
                /// <para>
407
                /// This value can be overridden by the <see cref="MultiLeader.TextFrame"/> property
408
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextFrame"/> flag is set in the
409
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
410
                /// </para>
411
                /// </remarks>
412
                [DxfCodeValue(292)]
413
                public bool TextFrame { get; set; }
×
414

415
                //        TODO Is this property only relevant for new leaders?
416
                /// <summary>
417
                /// Text Align Always Left
418
                /// </summary>
419
                [DxfCodeValue(297)]
420
                public bool TextAlignAlwaysLeft { get; set; }
×
421

422
                //        TODO What is the meaning of this property?
423
                /// <summary>
424
                /// Align Space
425
                /// </summary>
426
                [DxfCodeValue(46)]
427
                public double AlignSpace { get; set; }
×
428

429
                /// <summary>
430
                /// Gets a <see cref="BlockRecord"/> containing elements
431
                /// to be drawn as content for the multileader.
432
                /// </summary>
433
                /// <remarks>
434
                /// <para>
435
                /// Thw standard content block can be overridden by the <see cref="MultiLeaderAnnotContext.BlockContent"/>
436
                /// property when the <see cref="MultiLeaderPropertyOverrideFlags.BlockContent"/> flag is set in the
437
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
438
                /// </para>
439
                /// </remarks>
440
                [DxfCodeValue(DxfReferenceType.Handle, 343)]
441
                public BlockRecord BlockContent { get; set; }
×
442

443
                /// <summary>
444
                /// Gets or sets the block-content color.
445
                /// </summary>
446
                /// <remarks>
447
                /// <para>
448
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.BlockContentColor"/> property
449
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.BlockContentColor"/> flag is set in the
450
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
451
                /// </para>
452
                /// </remarks>
453
                [DxfCodeValue(94)]
454
                public Color BlockContentColor { get; set; }
×
455

456
                /// <summary>
457
                /// Gets or sets the scale factor for block content.
458
                /// </summary>
459
                /// <remarks>
460
                /// <para>
461
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.BlockContentScale"/> property
462
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.BlockContentScale"/> flag is set in the
463
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
464
                /// </para>
465
                /// </remarks>
466
                [DxfCodeValue(47, 49, 140)]
467
                public XYZ BlockContentScale { get; set; }
×
468

469
                //        TODO: Cannot be overridden? Is this property only relevant in AutoCAD?
470
                /// <summary>
471
                /// Gets or sets a value indicating whether scaling of the block content is enabled.
472
                /// </summary>
473
                [DxfCodeValue(293)]
474
                public bool EnableBlockContentScale { get; set; }
×
475

476
                /// <summary>
477
                /// Gets or sets the block content rotation.
478
                /// </summary>
479
                /// <remarks>
480
                /// <para>
481
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.BlockContentRotation"/> property
482
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.BlockContentRotation"/> flag is set in the
483
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
484
                /// </para>
485
                /// </remarks>
486
                [DxfCodeValue(DxfReferenceType.IsAngle, 141)]
487
                public double BlockContentRotation { get; set; }
×
488

489
                //        TODO: Cannot be overridden? Is this property only relevant in AutoCAD?
490
                /// <summary>
491
                /// Gets or sets a value indicating whether rotation of the block content is enabled.
492
                /// </summary>
493
                [DxfCodeValue(294)]
494
                public bool EnableBlockContentRotation { get; set; }
×
495

496
                /// <summary>
497
                /// Gets or sets a value indicating whether the multileader connects to the content-block extents
498
                /// or to the content-block base point.
499
                /// </summary>
500
                /// <remarks>
501
                /// <para>
502
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.BlockContentConnection"/> property
503
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.BlockContentConnection"/> flag is set in the
504
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
505
                /// </para>
506
                /// </remarks>
507
                [DxfCodeValue(177)]
508
                public BlockContentConnectionType BlockContentConnection { get; set; }
×
509

510
                /// <summary>
511
                /// Gets or sets the scale factor for the <see cref="ArrowheadSize"/>, <see cref="LandingDistance"/>,
512
                /// <see cref="LandingGap"/>, <see cref="TextHeight"/>, and the elements of <see cref="BlockContentScale"/>.
513
                /// </summary>
514
                /// <remarks>
515
                /// <para>
516
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.ScaleFactor"/> property
517
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.ScaleFactor"/> flag is set in the
518
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
519
                /// </para>
520
                /// </remarks>
521
                [DxfCodeValue(142)]
522
                public double ScaleFactor { get; set; }
×
523

524
                /// <summary>
525
                /// Overwrite Property Value
526
                /// </summary>
527
                /// <remarks>
528
                /// Property changed, meaning not totally clear
529
                /// might be set to true if something changed after loading,
530
                /// or might be used to trigger updates in dependent MLeaders.
531
                /// sequence seems to be different in DXF
532
                /// </remarks>
533
                [DxfCodeValue(295)]
534
                public bool OverwritePropertyValue { get; set; }
×
535

536
                /// <summary>
537
                /// Is Annotative
538
                /// </summary>
539
                [DxfCodeValue(296)]
540
                public bool IsAnnotative { get; set; }
×
541

542
                //        TODO What is the meaning of this property?
543
                /// <summary>
544
                /// Break Gap Size
545
                /// </summary>
546
                [DxfCodeValue(143)]
547
                public double BreakGapSize { get; set; }
×
548

549
                //        TODO Check
550
                //                 whether this property is relevant for both text an block content
551
                //                 How it can be overridden by LeaderRoot.AttachmentDirection
552
                /// <summary>
553
                /// Gets or sets the Text attachment direction for text or block contents, rename?
554
                /// This property defines whether the leaders attach to the left/right of the content block/text,
555
                /// or attach to the top/bottom.
556
                /// </summary>
557
                /// <remarks>
558
                /// <para>
559
                /// This value can be overridden by the <see cref="MultiLeader.TextAttachmentDirection"/> property
560
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextAttachmentDirection"/> flag is set in the
561
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
562
                /// </para><para>
563
                /// The value for all leader lines can be overridden for each individual leader line by the
564
                /// <see cref="MultiLeaderAnnotContext.LeaderRoot.TextAttachmentDirection"/> property when the
565
                /// <see cref="LeaderLinePropertOverrideFlags.TextAttachmentDirection"/> flag is set in the 
566
                /// <see cref="MultiLeaderAnnotContext.LeaderLine.OverrideFlags"/> property.
567
                /// </para>
568
                /// </remarks>
569
                /// <value>
570
                /// A <see cref="TextAttachmentDirectionType"/>.
571
                /// </value>
572
                [DxfCodeValue(271)]
573
                public TextAttachmentDirectionType TextAttachmentDirection { get; set; }
×
574

575
                /// <summary>
576
                /// Gets or sets the text bottom attachment type.
577
                /// This value controls the position of the connection point of the leader
578
                /// attached to the bottom of the text label.
579
                /// </summary>
580
                /// <remarks>
581
                /// <para>
582
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.TextBottomAttachment"/> property
583
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextBottomAttachment"/> flag is set in the
584
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
585
                /// </para><para>
586
                /// This property is only relevant if <see cref="TextAttachmentDirection"/> is
587
                /// <see cref="TextAttachmentDirectionType.Vertical"/> and a leader attached
588
                /// to the bottom of the text label exists.
589
                /// </para>
590
                /// </remarks>
591
                /// <value>
592
                /// A <see cref="TextAttachmentType"/> having the values
593
                ///         9 = Center,
594
                ///         10 = Underline and Center
595
                /// can be used ("vertical" attachment types).
596
                /// </value>
597
                [DxfCodeValue(272)]
598
                public TextAttachmentType TextBottomAttachment { get; set; }
×
599

600
                /// <summary>
601
                /// Gets or sets the text top attachment type.
602
                /// This value controls the position of the connection point of the leader
603
                /// attached to the top of the text label.
604
                /// </summary>
605
                /// <remarks>
606
                /// <para>
607
                /// This value can be overridden by the <see cref="MultiLeaderAnnotContext.TextTopAttachment"/> property
608
                /// when the <see cref="MultiLeaderPropertyOverrideFlags.TextTopAttachment"/> flag is set in the
609
                /// <see cref="MultiLeader.PropertyOverrideFlags"/> property.
610
                /// </para><para>
611
                /// This property is only relevant if <see cref="TextAttachmentDirection"/> is
612
                /// <see cref="TextAttachmentDirectionType.Vertical"/> and a leader attached
613
                /// to the top of the text label exists.
614
                /// </para>
615
                /// </remarks>
616
                /// <value>
617
                /// A <see cref="TextAttachmentType"/> having the values
618
                ///         9 = Center,
619
                ///         10 = Underline and Center
620
                /// can be used ("vertical" attachment types).
621
                /// </value>
622
                [DxfCodeValue(273)]
623
                public TextAttachmentType TextTopAttachment { get; set; }
×
624

625
                /// <summary>
626
                /// Initializes a new instance of the <see cref="MultiLeaderStyle"/> class.
627
                /// </summary>
628
                public MultiLeaderStyle() : this(string.Empty) { }
×
629

630
                /// <summary>
631
                /// Initializes a new instance of the <see cref="MultiLeaderStyle"/> class
632
                /// and sets the name of this style.
633
                /// </summary>
634
                public MultiLeaderStyle(string name) : base()
×
635
                {
×
636
                        this.Name = name;
×
637
                }
×
638

639
                public override CadObject Clone()
640
                {
×
641
                        MultiLeaderStyle clone = (MultiLeaderStyle)base.Clone();
×
642
                        return clone;
×
643
                }
×
644
        }
645
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc