NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Markup_ElementCollection.hxx
1//--------------------------------------------------------------------------
2// 版权所有 2024 Siemens
3//--------------------------------------------------------------------------
4// C++接口JA API的头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Markup_ElementCollection.ja
9//
10// 生成工具:
11// apiwrap
12//
13// 警告:
14// 该文件由系统自动生成 - 请勿手动编辑
15//
16#pragma once
17#include <NXOpen/NXDeprecation.hxx>
18#include <iterator>
19#include <vector>
20#include <NXOpen/NXString.hxx>
21#include <NXOpen/Callback.hxx>
22#include <NXOpen/Markup_Circle.hxx>
23#include <NXOpen/Markup_EditElementDisplayBuilder.hxx>
24#include <NXOpen/Markup_Element.hxx>
25#include <NXOpen/Markup_ElementBuilder.hxx>
26#include <NXOpen/Markup_Ellipse.hxx>
27#include <NXOpen/Markup_Freehand.hxx>
28#include <NXOpen/Markup_Icon.hxx>
29#include <NXOpen/Markup_InsetImage.hxx>
30#include <NXOpen/Markup_Line.hxx>
31#include <NXOpen/Markup_Polygon.hxx>
32#include <NXOpen/Markup_Polyline.hxx>
33#include <NXOpen/Markup_Rectangle.hxx>
34#include <NXOpen/Markup_Text.hxx>
35#include <NXOpen/TaggedObjectCollection.hxx>
36#include <NXOpen/TaggedObject.hxx>
37#include <NXOpen/ugmath.hxx>
38#include <NXOpen/libnxopencpp_markup_exports.hxx>
39#ifdef _MSC_VER
40#pragma warning(push)
41#pragma warning(disable:4996)
42#endif
43#ifdef __GNUC__
44#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
45#endif
46namespace NXOpen
47{
48 namespace Markup
49 {
51 }
52 namespace Markup
53 {
54 class Markup;
55 }
56 namespace Markup
57 {
58 class Element;
59 }
60 namespace Markup
61 {
62 class Circle;
63 }
64 namespace Markup
65 {
67 }
68 namespace Markup
69 {
70 class ElementBuilder;
71 }
72 namespace Markup
73 {
74 class Ellipse;
75 }
76 namespace Markup
77 {
78 class Freehand;
79 }
80 namespace Markup
81 {
82 class Icon;
83 }
84 namespace Markup
85 {
86 class InsetImage;
87 }
88 namespace Markup
89 {
90 class Line;
91 }
92 namespace Markup
93 {
94 class Polygon;
95 }
96 namespace Markup
97 {
98 class Polyline;
99 }
100namespace Markup
101 {
102 class Rectangle;
103 }
104 namespace Markup
105 {
106 class Text;
107 }
108 namespace Markup
109 {
110 class ElementCollectionImpl;
114 class NXOPENCPP_MARKUPEXPORT ElementCollection : public NXOpen::TaggedObjectCollection
115 {
116 private: ElementCollectionImpl * m_elementcollection_impl;
117 private: NXOpen::Markup::Markup* m_owner;
119 public: explicit ElementCollection(NXOpen::Markup::Markup *owner);
121 public:
123 tag_t Tag() const;
124 public: ~ElementCollection();
126 //lint -sem(NXOpen::Markup::ElementCollection::iterator::copy,initializer)
127 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Markup::Element *>
128 {
129 public:
131 iterator() : m_context(nullptr), m_current(NULL_TAG)
132 {
133 // coverity[uninit_member]
134 } //lint !e1401 m_state 未初始化
135
136 explicit iterator(NXOpen::Markup::ElementCollection *context) : m_context(context), m_current(NULL_TAG)
137 {
138 // coverity[uninit_member]
139 }//lint !e1401 m_state 未初始化
141
142 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
143 {
144 copy(other);
145 }
146
147 iterator &operator =(const iterator &other)
148 {
149 if (&other != this)
150 copy(other);
151 return *this;
152 }
153
154 bool operator ==(const iterator &other) const
155 {
156 return m_current == other.m_current && m_context == other.m_context;
157 }
158
159 bool operator !=(const iterator &other) const
160 {
161 return !operator == (other);
162 }
163
164 NXOPENCPP_MARKUPEXPORT value_type operator * () const;
166 iterator & operator ++()
167 {
168 next();
169 return *this;
170 }
171
172 iterator operator ++(int)
173 {
174 iterator tmp(*this);
175 ++*this;
176 return tmp;
177 }
178 private:
179 void copy(const iterator &other)
180 {
181 m_context = other.m_context;
182 m_current = other.m_current;
183 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
184 m_state[i] = other.m_state[i];
185 }
186 NXOPENCPP_MARKUPEXPORT void next();
188 tag_t m_current;
189 unsigned int m_state[8];
190 };
191
195 {
196 return iterator(this);
197 }
198
202 (
203 const NXString & id
204 );
209 (
210 const char * id
211 );
216 (
217 const NXOpen::Point3d & center ,
218 double radius
219 );
221
225 (
226 const NXOpen::Point2d & center ,
227 double radius
228 );
230
234 (
235 const NXOpen::Point3d & anchorPoint ,
236 const NXOpen::Point3d & center ,
237 double radius
238 );
240
244 (
245 const NXOpen::Point3d & anchorPoint ,
246 const NXOpen::Point2d & center ,
247 double radius
248 );
250
254 (
255 const NXOpen::Point3d & center ,
256 double major ,
257 double minor
258 );
260
264 (
265 const NXOpen::Point2d & center ,
266 double major ,
267 double minor
268 );
270
274 (
275 const NXOpen::Point3d & anchorPoint ,
276 const NXOpen::Point3d & center ,
277 double major ,
278 double minor
279 );
281
285 (
286 const NXOpen::Point3d & anchorPoint ,
287 const NXOpen::Point2d & center ,
288 double major ,
289 double minor
290 );
292
296 (
297 const NXOpen::Point3d & center ,
298 double length ,
299 double width
300 );
302
306 (
307 const NXOpen::Point2d & center ,
308 double length ,
309 double width
310 );
312
316 (
317 const NXOpen::Point3d & anchorPoint ,
318 const NXOpen::Point3d & center ,
319 double length ,
320 double width
321 );
323
327 (
328 const NXOpen::Point3d & anchorPoint ,
329 const NXOpen::Point2d & center ,
330 double length ,
331 double width
332 );
335
338 public: NXOpen::Markup::Polyline * CreatePolyline
339 (
340 const std::vector<NXOpen::Point3d> & points
341 );
344
347 public: NXOpen::Markup::Polyline * CreatePolyline
348 (
349 const std::vector<NXOpen::Point2d> & points
350 );
353
356 public: NXOpen::Markup::Polyline * CreatePolyline
357 (
358 const NXOpen::Point3d & anchorPoint ,
359 const std::vector<NXOpen::Point3d> & points
360 );
363
366 public: NXOpen::Markup::Polyline * CreatePolyline
367 (
368 const NXOpen::Point3d & anchorPoint ,
369 const std::vector<NXOpen::Point2d> & points
370 );
373
376 public: NXOpen::Markup::Polygon * CreatePolygon
377 (
378 const std::vector<NXOpen::Point3d> & points
379 );
382
385 public: NXOpen::Markup::Polygon * CreatePolygon
386 (
387 const std::vector<NXOpen::Point2d> & points
388 );
391
394 public: NXOpen::Markup::Polygon * CreatePolygon
395 (
396 const NXOpen::Point3d & anchorPoint ,
397 const std::vector<NXOpen::Point3d> & points
398 );
401
404 public: NXOpen::Markup::Polygon * CreatePolygon
405 (
406 const NXOpen::Point3d & anchorPoint ,
407 const std::vector<NXOpen::Point2d> & points
408 );
410
414 (
415 const std::vector<NXOpen::Point3d> & points
416 );
418
422 (
423 const std::vector<NXOpen::Point2d> & points
424 );
426
430 (
431 const NXOpen::Point3d & anchorPoint ,
432 const std::vector<NXOpen::Point3d> & points
433 );
435
439 (
440 const NXOpen::Point3d & anchorPoint ,
441 const std::vector<NXOpen::Point2d> & points
442 );
445
448 public: NXOpen::Markup::Line * CreateFloatLine
449 (
450 const NXOpen::Point3d & startPoint ,
451 const NXOpen::Point3d & endPoint
452 );
455
458 public: NXOpen::Markup::Line * CreateAnchoredLine
459 (
460 const NXOpen::Point3d & anchorPoint ,
461 const NXOpen::Point3d & startPoint ,
462 const NXOpen::Point3d & endPoint
463 );
465
469 (
470 const NXOpen::Point3d & position ,
471 const NXString & textContent
472 );
477 (
478 const NXOpen::Point3d & position ,
479 const char * textContent
480 );
482
486 (
487 const NXOpen::Point2d & position ,
488 const NXString & textContent
489 );
494 (
495 const NXOpen::Point2d & position ,
496 const char * textContent
497 );
500
503 public: NXOpen::Markup::Icon * CreateIcon
504 (
505 const NXOpen::Point3d & position ,
506 const NXString & iconName ,
507 NXOpen::Markup::Icon::Size size
508 );
512 NXOpen::Markup::Icon * CreateIcon
513 (
514 const NXOpen::Point3d & position ,
515 const char * iconName ,
516 NXOpen::Markup::Icon::Size size
517 );
520
523 public: NXOpen::Markup::Icon * CreateIcon
524 (
525 const NXOpen::Point2d & position ,
526 const NXString & iconName ,
527 NXOpen::Markup::Icon::Size size
528 );
532 NXOpen::Markup::Icon * CreateIcon
533 (
534 const NXOpen::Point2d & position ,
535 const char * iconName ,
536 NXOpen::Markup::Icon::Size size
537 );
540
543 public: NXOpen::Markup::Icon * CreateIcon
544 (
545 const NXOpen::Point3d & anchorPoint ,
546 const NXOpen::Point3d & position ,
547 const NXString & iconName ,
548 NXOpen::Markup::Icon::Size size
549 );
553 NXOpen::Markup::Icon * CreateIcon
554 (
555 const NXOpen::Point3d & anchorPoint ,
556 const NXOpen::Point3d & position ,
557 const char * iconName ,
558 NXOpen::Markup::Icon::Size size
559 );
562
565 public: NXOpen::Markup::Icon * CreateIcon
566 (
567 const NXOpen::Point3d & anchorPoint ,
568 const NXOpen::Point2d & position ,
569 const NXString & iconName ,
570 NXOpen::Markup::Icon::Size size
571 );
575 NXOpen::Markup::Icon * CreateIcon
576 (
577 const NXOpen::Point3d & anchorPoint ,
578 const NXOpen::Point2d & position ,
579 const char * iconName ,
580 NXOpen::Markup::Icon::Size size
581 );
584
587 public: NXOpen::Markup::InsetImage * CreateInsetImage
588 (
589 const NXOpen::Point3d & position ,
590 const NXString & filename
591 );
595 NXOpen::Markup::InsetImage * CreateInsetImage
596 (
597 const NXOpen::Point3d & position ,
598 const char * filename
599 );
601
605 (
606 NXOpen::Markup::Element * annotation
607 );
612 (
613 const std::vector<NXOpen::Markup::Element *> & objects
614 );
620 public: std::vector<NXOpen::Markup::Element *> CopyObjects
621 (
622 const std::vector<NXOpen::Markup::Element *> & inputObjects
623 );
629 public: std::vector<NXOpen::Markup::Element *> CutObjects
630 (
631 const std::vector<NXOpen::Markup::Element *> & inputObjects
632 );
633 }; //lint !e1712 default constructor not defined for class
634 }
635}
636#ifdef _MSC_VER
637#pragma warning(pop)
638#endif
639#ifdef __GNUC__
640#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
641#pragma GCC diagnostic warning "-Wdeprecated-declarations"
642#endif
643#endif
644#undef EXPORTLIBRARY