NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Routing_RunCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// C++接口头文件:JA API
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Routing_RunCollection.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/Routing_CharacteristicList.hxx>
24#include <NXOpen/Routing_RunItem.hxx>
25#include <NXOpen/TaggedObject.hxx>
26#include <NXOpen/libnxopencpp_routing_exports.hxx>
27#ifdef _MSC_VER
28#pragma warning(push)
29#pragma warning(disable:4996)
30#endif
31#ifdef __GNUC__
32#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
33#endif
34namespace NXOpen
35{
36 namespace Routing
37 {
38 class RunCollection;
39 }
40 namespace Routing
41 {
42 class RouteManager;
43 }
44 namespace Routing
45 {
46 class Run;
47 }
48 class NXObject;
49 namespace Routing
50 {
52 }
53 namespace Routing
54 {
55 class RunItem;
56 }
57 namespace Routing
58 {
59 class RunCollectionImpl;
63 class NXOPENCPP_ROUTINGEXPORT RunCollection : public NXOpen::TaggedObjectCollection
64 {
65 private: RunCollectionImpl * m_runcollection_impl;
66 private: NXOpen::Routing::RouteManager* m_owner;
68 public: explicit RunCollection(NXOpen::Routing::RouteManager *owner);
70 public:
72 tag_t Tag() const;
73 public: ~RunCollection();
75 //lint -sem(NXOpen::Routing::RunCollection::iterator::copy,initializer)
76 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Routing::Run *>
77 {
78 public:
80 iterator() : m_context(nullptr), m_current(NULL_TAG)
81 {
82 // coverity[uninit_member]
83 } //lint !e1401 m_state is not initialized
84
85 explicit iterator(NXOpen::Routing::RunCollection *context) : m_context(context), m_current(NULL_TAG)
86 {
87 // coverity[uninit_member]
88 }//lint !e1401 m_state is not initialized
90
91 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
92 {
93 copy(other);
94 }
95
96 iterator &operator =(const iterator &other)
97{
98 if (&other != this)
99 copy(other);
100 return *this;
101 }
102
103 bool operator ==(const iterator &other) const
104 {
105 return m_current == other.m_current && m_context == other.m_context;
106 }
107
108 bool operator !=(const iterator &other) const
109 {
110 return !operator == (other);
111 }
112
113 NXOPENCPP_ROUTINGEXPORT value_type operator * () const;
115 iterator & operator ++()
116 {
117 next();
118 return *this;
119 }
120
121 iterator operator ++(int)
122 {
123 iterator tmp(*this);
124 ++*this;
125 return tmp;
126 }
127 private:
128 void copy(const iterator &other)
129 {
130 m_context = other.m_context;
131 m_current = other.m_current;
132 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
133 m_state[i] = other.m_state[i];
134 }
135 NXOPENCPP_ROUTINGEXPORT void next();
137 tag_t m_current;
138 unsigned int m_state[8];
139 };
140
144 {
145 return iterator(this);
146 }
147
151 (
152 const NXString & runId ,
153 const NXString & runType ,
154 const std::vector<NXOpen::NXObject *> & from ,
156 const std::vector<NXOpen::NXObject *> & to ,
158 const std::vector<NXOpen::NXObject *> & member
160 );
165 (
166 const char * runId ,
167 const char * runType ,
168 const std::vector<NXOpen::NXObject *> & from ,
170 const std::vector<NXOpen::NXObject *> & to ,
172 const std::vector<NXOpen::NXObject *> & member
174 );
179 (
180 const NXString & runId ,
181 const NXString & runType ,
183 const std::vector<NXOpen::Routing::RunItem *> & fromItems ,
184 const std::vector<NXOpen::Routing::RunItem *> & toItems ,
185 const std::vector<NXOpen::Routing::RunItem *> & memberItems
186 );
191 (
192 const char * runId ,
193 const char * runType ,
195 const std::vector<NXOpen::Routing::RunItem *> & fromItems ,
196 const std::vector<NXOpen::Routing::RunItem *> & toItems ,
197 const std::vector<NXOpen::Routing::RunItem *> & memberItems
198 );
206 (
207 const NXString & runId ,
208 const NXString & runType ,
210 );
218 (
219 const char * runId ,
220 const char * runType ,
222 );
230 public: std::vector<NXOpen::NXObject *> FindPath
231 (
232 const std::vector<NXOpen::NXObject *> & source ,
234 const std::vector<NXOpen::NXObject *> & target
236 );
237 }; //lint !e1712 default constructor not defined for class
238 }
239}
240#ifdef _MSC_VER
241#pragma warning(pop)
242#endif
243#ifdef __GNUC__
244#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
245#pragma GCC diagnostic warning "-Wdeprecated-declarations"
246#endif
247#endif
248#undef EXPORTLIBRARY