NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Optimization_OptimizationCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// JA API的C++接口头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Optimization_OptimizationCollection.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/BasePart.hxx>
23#include <NXOpen/TaggedObjectCollection.hxx>
24#include <NXOpen/Optimization_MapleExpBuilder.hxx>
25#include <NXOpen/Optimization_MathIntegrationExpBuilder.hxx>
26#include <NXOpen/Optimization_OptimizationAttributeBuilder.hxx>
27#include <NXOpen/Optimization_OptimizationBuilder.hxx>
28#include <NXOpen/TaggedObject.hxx>
29#include <NXOpen/libnxopencpp_optimization_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 Optimization
40 {
42 }
43 class BasePart;
44 namespace Optimization
45 {
47 }
48 namespace Optimization
49 {
50 class MapleExpBuilder;
51 }
52 namespace Optimization
53 {
55 }
56 namespace Optimization
57 {
59 }
60 namespace Optimization
61 {
62 class OptimizationCollectionImpl;
66 class NXOPENCPP_OPTIMIZATIONEXPORT OptimizationCollection : public NXOpen::TaggedObjectCollection
67 {
68 private: OptimizationCollectionImpl * m_optimizationcollection_impl;
69 private: NXOpen::BasePart* m_owner;
71 public: explicit OptimizationCollection(NXOpen::BasePart *owner);
73 public:
75 tag_t Tag() const;
78 //lint -sem(NXOpen::Optimization::OptimizationCollection::iterator::copy,initializer)
79 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Optimization::OptimizationBuilder *>
80 {
81 public:
83 iterator() : m_context(nullptr), m_current(NULL_TAG)
84 {
85 // coverity[uninit_member]
86 } //lint !e1401 m_state未初始化
87
88 explicit iterator(NXOpen::Optimization::OptimizationCollection *context) : m_context(context), m_current(NULL_TAG)
89 {
90 // coverity[uninit_member]
91 }//lint !e1401 m_state未初始化
93
94 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
95 {
96 copy(other);
97 }
98
99 iterator &operator =(const iterator &other)
100 {
101 if (&other != this)
102 copy(other);
103 return *this;
104 }
105
106 bool operator ==(const iterator &other) const
107 {
108 return m_current == other.m_current && m_context == other.m_context;
109 }
110
111 bool operator !=(const iterator &other) const
112 {
113 return !operator == (other);
114 }
115
116 NXOPENCPP_OPTIMIZATIONEXPORT value_type operator * () const;
118 iterator & operator ++()
119 {
120 next();
121 return *this;
122 }
123
124 iterator operator ++(int)
125 {
126 iterator tmp(*this);
127 ++*this;
128 return tmp;
129 }
130 private:
131 void copy(const iterator &other)
132 {
133 m_context = other.m_context;
134 m_current = other.m_current;
135 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
136 m_state[i] = other.m_state[i];
137 }
138 NXOPENCPP_OPTIMIZATIONEXPORT void next();
140 tag_t m_current;
141 unsigned int m_state[8];
142 };
143
147 {
148 return iterator(this);
149 }
150
154 (
155 );
160 (
161 );
166 public: NX_DEPRECATED("在NX12.0.0中弃用。请改用NXOpen::Optimization::OptimizationCollection::CreateMathIntegrationExpBuilder。") NXOpen::Optimization::MapleExpBuilder * CreateMapleExpBuilder
167 (
168 );
173 (
174 );
175 }; //lint !e1712 未为类定义默认构造函数
176 }
177}
178#ifdef _MSC_VER
179#pragma warning(pop)
180#endif
181#ifdef __GNUC__
182#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
183#pragma GCC diagnostic warning "-Wdeprecated-declarations"
184#endif
185#endif
186#undef EXPORTLIBRARY