NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Weld_CustomManager.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// C++接口的JA API头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Weld_CustomManager.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/Weld_ConnectedPart.hxx>
25#include <NXOpen/libnxopencpp_weld_exports.hxx>
26#ifdef _MSC_VER
27#pragma warning(push)
28#pragma warning(disable:4996)
29#endif
30#ifdef __GNUC__
31#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
32#endif
33namespace NXOpen
34{
35 namespace Weld
36 {
37 class CustomManager;
38 }
39 class Session;
40 namespace Weld
41 {
42 class EdgePrep;
43 }
44 namespace Annotations
45 {
46 class PmiLineWeld;
47 }
48 class Curve;
49 namespace Features
50 {
51 class Feature;
52 }
53 class NXObject;
54 class ScCollector;
55 class TaggedObject;
56 namespace Weld
57 {
58 class ConnectedPart;
59 }
60 namespace Weld
61 {
62 class DatumIconBuilder;
63 }
64 namespace Weld
65 {
66 class JointExitBuilder;
67 }
68 namespace Weld
69 {
70 class JointItemBuilder;
71 }
72 namespace Weld
73 {
74 class JointmarkElement;
75 }
76 namespace Weld
77 {
78 class WeldJointBuilder;
79 }
80 namespace Weld
81 {
83 }
84 namespace Weld
85 {
87 }
88 namespace Weld
89 {
90 class CustomManagerImpl;
102 class NXOPENCPP_WELDEXPORT CustomManager : public NXOpen::TaggedObjectCollection
103 {
110
116 public:
120 public:
124 public:
128 public:
132 public:
136 public:
140 public:
144 private: CustomManagerImpl * m_custommanager_impl;
145 private: NXOpen::Session* m_owner;
147 public: explicit CustomManager(NXOpen::Session *owner);
149 public:
151 tag_t Tag() const;
152 public: ~CustomManager();
154 //lint -sem(NXOpen::Weld::CustomManager::iterator::copy,initializer)
155 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Weld::EdgePrep *>
156 {
157 public:
159 iterator() : m_context(nullptr), m_current(NULL_TAG)
160 {
161 // coverity[uninit_member]
162 } //lint !e1401 m_state is not initialized
163
164 explicit iterator(NXOpen::Weld::CustomManager *context) : m_context(context), m_current(NULL_TAG)
165 {
166 // coverity[uninit_member]
167 }//lint !e1401 m_state is not initialized
169
170 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
171 {
172 copy(other);
173 }
174
175 iterator &operator =(const iterator &other)
176 {
177 if (&other != this)
178 copy(other);
179 return *this;
180 }
181
182 bool operator ==(const iterator &other) const
183 {
184 return m_current == other.m_current && m_context == other.m_context;
185 }
186
187 bool operator !=(const iterator &other) const
188 {
189 return !operator == (other);
190 }
191
192 NXOPENCPP_WELDEXPORT value_type operator * () const;
194 iterator & operator ++()
195 {
196 next();
197 return *this;
198 }
199
200 iterator operator ++(int)
201 {
202 iterator tmp(*this);
203 ++*this;
204 return tmp;
205 }
206 private:
207 void copy(const iterator &other)
208 {
209 m_context = other.m_context;
210 m_current = other.m_current;
211 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
212 m_state[i] = other.m_state[i];
213 }
214 NXOPENCPP_WELDEXPORT void next();
216 tag_t m_current;
217 unsigned int m_state[8];
218 };
219
223 {
224 return iterator(this);
225 }
226
230 (
232 );
237 (
238 int id
239 );
244 (
246 );
251 (
252 int id
253 );
258 (
260 );
265 (
266 int id
267 );
272 (
274 );
279 (
280 int id
281 );
286 (
288 );
293 (
294 int id
295 );
300 (
302 );
307 (
308 int id
309 );
314 (
316 );
321 (
322 int id
323 );
327 public: void ShowSolids
328 (
329 bool showSolids
330 );
334 public: void LocateWelds
335 (
336 bool searchEntireAssembly ,
337 bool wantSolids ,
338 bool wantCurves ,
339 bool wantPoints ,
340 std::vector<NXOpen::NXObject *> & foundObjectsArray
341 );
345 public: void LocateWelds
346 (
347 bool searchEntireAssembly ,
348 bool excludeInvisibleComponents ,
349 bool wantSolids ,
350 bool wantCurves ,
351 bool wantPoints ,
352 std::vector<NXOpen::NXObject *> & foundObjectsArray
353 );
357 public: void LocateWelds
358 (
359 bool searchEntireAssembly ,
360 bool excludeInvisibleComponents ,
361 bool wantSolids ,
362 bool wantCurves ,
363 bool wantPoints ,
364 bool wantStructureWelds ,
365 std::vector<NXOpen::NXObject *> & foundObjectsArray
366 );
370 public: void ConvertLegacy
371 (
372 );
376 public: void ConvertLegacy
377 (
378 const std::vector<NXOpen::Features::Feature *> & fsetFeatures
379 );
383 public: void ConvertLegacy
384 (
385 const std::vector<NXOpen::Features::Feature *> & fsetFeatures ,
386 bool createSingleFeatures
387 );
396 (
397 const std::vector<NXOpen::Weld::JointmarkElement *> & weldFeatures
398 );
408 (
409 NXOpen::NXObject * weldTag
410 );
415 (
416 const std::vector<NXOpen::NXObject *> & selectedObjects
417 );
422 (
423 const std::vector<NXOpen::NXObject *> & selectedObjects
424 );
429 (
430 const std::vector<NXOpen::NXObject *> & selectedObjects
431 );
436 (
437 const std::vector<NXOpen::Features::Feature *> & selectedObjects
438 );
444 (
446 NXOpen::TaggedObject * designObject
447 );
451 public: std::vector<bool> HasSourceFacesInWeldPart
452 (
453 NXOpen::Features::Feature * weldFeature
454 );
459 (
461 );
466 (
468 );
469 }; //lint !e1712 default constructor not defined for class
470 }
471}
472#ifdef _MSC_VER
473#pragma warning(pop)
474#endif
475#ifdef __GNUC__
476#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
477#pragma GCC diagnostic warning "-Wdeprecated-declarations"
478#endif
479#endif
480#undef EXPORTLIBRARY