NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Gateway_MassCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// C++接口JA API的头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Gateway_MassCollection.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_gateway_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 Gateway
35 {
36 class MassCollection;
37 }
39 namespace Gateway
40 {
41 class Mass;
42 }
43 namespace Gateway
44 {
46 }
47 namespace Gateway
48 {
50 }
51 namespace Gateway
52 {
54 }
55 namespace Gateway
56 {
58 }
59 namespace Gateway
60 {
62 }
63 namespace Gateway
64 {
66 }
67 namespace Gateway
68 {
69 class MassValueBuilder;
70 }
71 class NXObject;
72 namespace Gateway
73 {
74 class MassCollectionImpl;
78 class NXOPENCPP_GATEWAYEXPORT MassCollection : public NXOpen::TaggedObjectCollection
79 {
80 private: MassCollectionImpl * m_masscollection_impl;
81 private: NXOpen::PropertiesManager* m_owner;
83 public: explicit MassCollection(NXOpen::PropertiesManager *owner);
85 public:
87 tag_t Tag() const;
88 public: ~MassCollection();
90 //lint -sem(NXOpen::Gateway::MassCollection::iterator::copy,initializer)
91 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Gateway::Mass *>
92 {
93 public:
95 iterator() : m_context(nullptr), m_current(NULL_TAG)
96{
97 // coverity[uninit_member]
98 } //lint !e1401 m_state is not initialized
99
100 explicit iterator(NXOpen::Gateway::MassCollection *context) : m_context(context), m_current(NULL_TAG)
101 {
102 // coverity[uninit_member]
103 }//lint !e1401 m_state is not initialized
105
106 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
107 {
108 copy(other);
109 }
110
111 iterator &operator =(const iterator &other)
112 {
113 if (&other != this)
114 copy(other);
115 return *this;
116 }
117
118 bool operator ==(const iterator &other) const
119 {
120 return m_current == other.m_current && m_context == other.m_context;
121 }
122
123 bool operator !=(const iterator &other) const
124 {
125 return !operator == (other);
126 }
127
128 NXOPENCPP_GATEWAYEXPORT value_type operator * () const;
130 iterator & operator ++()
131 {
132 next();
133 return *this;
134 }
135
136 iterator operator ++(int)
137 {
138 iterator tmp(*this);
139 ++*this;
140 return tmp;
141 }
142 private:
143 void copy(const iterator &other)
144 {
145 m_context = other.m_context;
146 m_current = other.m_current;
147 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
148 m_state[i] = other.m_state[i];
149 }
150 NXOPENCPP_GATEWAYEXPORT void next();
152 tag_t m_current;
153 unsigned int m_state[8];
154 };
155
159 {
160 return iterator(this);
161 }
162
163
166 public: NXOpen::Gateway::MassCalculationBuilder * CreateCalculationBuilder
167 (
168 const std::vector<NXOpen::NXObject *> & componentTags
169 );
172
175 public: NXOpen::Gateway::MassAssignmentBuilder * CreateAssignmentBuilder
176 (
177 NXOpen::NXObject * componentTag
178 );
181
184 public: NXOpen::Gateway::MassLimitationBuilder * CreateLimitationBuilder
185 (
186 NXOpen::NXObject * componentTag
187 );
190
193 public: NXOpen::Gateway::MassValueBuilder * CreateValueBuilder
194 (
195 NXOpen::NXObject * componentTag
196 );
199
202 public: NXOpen::Gateway::MassPropertyOptionsBuilder * CreatePropertyOptionsBuilder
203 (
204 );
207
210 public: NXOpen::Gateway::MassPartSpecificOptionsBuilder * CreatePartSpecificOptionsBuilder
211 (
212 );
215
218 public: NXOpen::Gateway::MassExportBuilder * CreateExportBuilder
219 (
220 const std::vector<NXOpen::NXObject *> & componentTags
221 );
223 }; //lint !e1712 default constructor not defined for class
224 }
225}
226#ifdef _MSC_VER
227#pragma warning(pop)
228#endif
229#ifdef __GNUC__
230#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
231#pragma GCC diagnostic warning "-Wdeprecated-declarations"
232#endif
233#endif
234#undef EXPORTLIBRARY