NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Tooling_AutoDieCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// JA API的C++接口头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Tooling_AutoDieCollection.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/TaggedObjectCollection.hxx>
23#include <NXOpen/TaggedObject.hxx>
24#include <NXOpen/libnxopencpp_tooling_exports.hxx>
25#ifdef _MSC_VER
26#pragma warning(push)
27#pragma warning(disable:4996)
28#endif
29#ifdef __GNUC__
30#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
31#endif
32namespace NXOpen
33{
34 namespace Tooling
35 {
37 }
38 namespace Tooling
39 {
40 class ToolingManager;
41 }
42 namespace Tooling
43 {
44 class AutoDieGroup;
45 }
46 namespace Features
47 {
48 class BodyFeature;
49 }
50 namespace Features
51 {
52 class Feature;
53 }
54 namespace GeometricAnalysis
55 {
56 class AnalysisObject;
57 }
58 namespace Tooling
59 {
61 }
62 namespace Tooling
63 {
65 }
66 namespace Tooling
67 {
69 }
70 namespace Tooling
71 {
73 }
74 namespace Tooling
75 {
77 }
78 namespace Tooling
79 {
81 }
82 namespace Tooling
83 {
85 }
86 namespace Tooling
87 {
89 }
90 namespace Tooling
91 {
93 }
94 namespace Tooling
95 {
97 }
98namespace Tooling
99 {
101 }
102 namespace Tooling
103 {
105 }
106 namespace Tooling
107 {
109 }
110 namespace Tooling
111 {
113 }
114 namespace Tooling
115 {
117 }
118 namespace Tooling
119 {
121 }
122 namespace Tooling
123 {
125 }
126 namespace Tooling
127 {
129 }
130 namespace Tooling
131 {
133 }
134 namespace Tooling
135 {
136 class AutoDieCollectionImpl;
140 class NXOPENCPP_TOOLINGEXPORT AutoDieCollection : public NXOpen::TaggedObjectCollection
141 {
142 private: AutoDieCollectionImpl * m_autodiecollection_impl;
143 private: NXOpen::Tooling::ToolingManager* m_owner;
145 public: explicit AutoDieCollection(NXOpen::Tooling::ToolingManager *owner);
147 public:
149 tag_t Tag() const;
150 public: ~AutoDieCollection();
152 //lint -sem(NXOpen::Tooling::AutoDieCollection::iterator::copy,initializer)
153 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Tooling::AutoDieGroup *>
154 {
155 public:
157 iterator() : m_context(nullptr), m_current(NULL_TAG)
158 {
159 // coverity[uninit_member]
160 } //lint !e1401 m_state is not initialized
161
162 explicit iterator(NXOpen::Tooling::AutoDieCollection *context) : m_context(context), m_current(NULL_TAG)
163 {
164 // coverity[uninit_member]
165 }//lint !e1401 m_state is not initialized
167
168 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
169 {
170 copy(other);
171 }
172
173 iterator &operator =(const iterator &other)
174 {
175 if (&other != this)
176 copy(other);
177 return *this;
178 }
179
180 bool operator ==(const iterator &other) const
181 {
182 return m_current == other.m_current && m_context == other.m_context;
183 }
184
185 bool operator !=(const iterator &other) const
186 {
187 return !operator == (other);
188 }
189
190 NXOPENCPP_TOOLINGEXPORT value_type operator * () const;
192 iterator & operator ++()
193 {
194 next();
195 return *this;
196 }
197
198 iterator operator ++(int)
199 {
200 iterator tmp(*this);
201 ++*this;
202 return tmp;
203 }
204 private:
205 void copy(const iterator &other)
206 {
207 m_context = other.m_context;
208 m_current = other.m_current;
209 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
210 m_state[i] = other.m_state[i];
211 }
212 NXOPENCPP_TOOLINGEXPORT void next();
214 tag_t m_current;
215 unsigned int m_state[8];
216 };
217
221 {
222 return iterator(this);
223 }
224
228 (
229 NXOpen::Features::Feature * featureSet
230 );
235 (
236 NXOpen::Features::Feature * featureSet
237 );
242 (
243 NXOpen::Features::Feature * dieEngFormTask
244 );
249 (
250 );
255 (
256 NXOpen::GeometricAnalysis::AnalysisObject * dieEngTrimAngleCheck
257 );
262 (
264 );
269 (
271 );
276 (
277 NXOpen::Features::BodyFeature * dieEngStampingCarryover
278 );
283 (
285 );
290 (
292 );
297 (
299 );
304 (
305 );
310 (
311 );
316 (
318 );
323 (
325 );
330 (
331 NXOpen::Features::Feature * featureSet
332 );
337 (
338 NXOpen::Features::Feature * dieEngFlangeTask
339 );
344 (
345 );
350 (
352 );
353 }; //lint !e1712 default constructor not defined for class
354 }
355}
356#ifdef _MSC_VER
357#pragma warning(pop)
358#endif
359#ifdef __GNUC__
360#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
361#pragma GCC diagnostic warning "-Wdeprecated-declarations"
362#endif
363#endif
364#undef EXPORTLIBRARY