NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Annotations_WeldCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// C++接口JA API头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Annotations_WeldCollection.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/Annotations_LeaderBundle.hxx>
23#include <NXOpen/Annotations_LineWeldBuilder.hxx>
24#include <NXOpen/Annotations_LineWeldData.hxx>
25#include <NXOpen/Annotations_PmiLineWeldBuilder.hxx>
26#include <NXOpen/TaggedObjectCollection.hxx>
27#include <NXOpen/TaggedObject.hxx>
28#include <NXOpen/ugmath.hxx>
29#include <NXOpen/libnxopencpp_annotations_exports.hxx>
30#ifdef _MSC_VER
31#pragma warning(push)
32#pragma warning(disable:4996)
33#endif
34#ifdef __GNUC__
35#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
36#endif
37namespace NXOpen
38{
39 namespace Annotations
40 {
41 class WeldCollection;
42 }
43 namespace Annotations
44 {
46 }
47 namespace Annotations
48 {
49 class Weld;
50 }
51 namespace Annotations
52 {
53 class LeaderBundle;
54 }
55 namespace Annotations
56 {
57 class LineWeld;
58 }
59 namespace Annotations
60 {
61 class LineWeldBuilder;
62 }
63 namespace Annotations
64 {
65 class LineWeldData;
66 }
67 namespace Annotations
68 {
69 class PmiData;
70 }
71 namespace Annotations
72 {
73 class PmiLineWeld;
74 }
75 namespace Annotations
76 {
78 }
79 class Xform;
80 namespace Annotations
81 {
82 class WeldCollectionImpl;
86 class NXOPENCPP_ANNOTATIONSEXPORT WeldCollection : public NXOpen::TaggedObjectCollection
87 {
88 private: WeldCollectionImpl * m_weldcollection_impl;
93 public:
95 tag_t Tag() const;
96 public: ~WeldCollection();
98 //lint -sem(NXOpen::Annotations::WeldCollection::iterator::copy,initializer)
99 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Annotations::Weld *>
100 {
101 public:
103 iterator() : m_context(nullptr), m_current(NULL_TAG)
104 {
105 // coverity[uninit_member]
106 } //lint !e1401 m_state is not initialized
107
108 explicit iterator(NXOpen::Annotations::WeldCollection *context) : m_context(context), m_current(NULL_TAG)
109 {
110 // coverity[uninit_member]
111 }//lint !e1401 m_state is not initialized
113
114 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
115 {
116 copy(other);
117 }
118
119 iterator &operator =(const iterator &other)
120 {
121 if (&other != this)
122 copy(other);
123 return *this;
124 }
125
126 bool operator ==(const iterator &other) const
127 {
128 return m_current == other.m_current && m_context == other.m_context;
129 }
130
131 bool operator !=(const iterator &other) const
132 {
133 return !operator == (other);
134 }
135
136 NXOPENCPP_ANNOTATIONSEXPORT value_type operator * () const;
138 iterator & operator ++()
139 {
140 next();
141 return *this;
142 }
143
144 iterator operator ++(int)
145 {
146 iterator tmp(*this);
147 ++*this;
148 return tmp;
149 }
150 private:
151 void copy(const iterator &other)
152 {
153 m_context = other.m_context;
154 m_current = other.m_current;
155 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
156 m_state[i] = other.m_state[i];
157 }
158 NXOPENCPP_ANNOTATIONSEXPORT void next();
160 tag_t m_current;
161 unsigned int m_state[8];
162 };
163
167 {
168 return iterator(this);
169 }
170
174 (
175 );
180 (
181 NXOpen::Annotations::LineWeldData * lineWeldData ,
182 const NXOpen::Point3d & origin ,
184 );
189 (
190 NXOpen::Annotations::LineWeldData * lineWeldData ,
192 NXOpen::Xform * annotationPlane ,
193 const NXOpen::Point3d & origin ,
195 );
200 (
202 );
207 (
209 );
210 }; //lint !e1712 类未定义默认构造函数
211 }
212}
213#ifdef _MSC_VER
214#pragma warning(pop)
215#endif
216#ifdef __GNUC__
217#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
218#pragma GCC diagnostic warning "-Wdeprecated-declarations"
219#endif
220#endif
221#undef EXPORTLIBRARY