NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Routing_ControlPointCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// C++接口头文件,对应JA API
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Routing_ControlPointCollection.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/ugmath.hxx>
25#include <NXOpen/libnxopencpp_routing_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 Routing
36 {
38 }
39 namespace Routing
40 {
41 class RouteManager;
42 }
43 namespace Routing
44 {
45 class ControlPoint;
46 }
47 class IBaseCurve;
48 class Point;
49 namespace Routing
50 {
51 class IRoutePosition;
52 }
53 namespace Routing
54 {
55 class Port;
56 }
57 class TaggedObject;
58 namespace Routing
59 {
60 class ControlPointCollectionImpl;
66 class NXOPENCPP_ROUTINGEXPORT ControlPointCollection : public NXOpen::TaggedObjectCollection
67 {
74
80 private: ControlPointCollectionImpl * m_controlpointcollection_impl;
81 private: NXOpen::Routing::RouteManager* m_owner;
85 public:
87 tag_t Tag() const;
90 //lint -sem(NXOpen::Routing::ControlPointCollection::iterator::copy,initializer)
91 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Routing::ControlPoint *>
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::Routing::ControlPointCollection *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_ROUTINGEXPORT 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_ROUTINGEXPORT void next();
152 tag_t m_current;
153 unsigned int m_state[8];
154 };
155
159 {
160 return iterator(this);
161 }
162
167 (
168 const NXOpen::Point3d & position ,
169 double tolerance
171 );
177 (
178 const NXOpen::Point3d & position ,
181 );
187 (
188 NXOpen::Routing::Port * port ,
191 );
197 (
198 NXOpen::TaggedObject * object ,
199 double objectParm ,
204 );
210 (
211 NXOpen::Point * point ,
216 );
222 (
223 NXOpen::IBaseCurve * conic ,
228 );
235 (
236 NXOpen::Routing::IRoutePosition * startObject ,
237 const NXOpen::Vector3d & offset ,
242 );
248 (
255 );
256 }; //lint !e1712 default constructor not defined for class
257 }
258}
259#ifdef _MSC_VER
260#pragma warning(pop)
261#endif
262#ifdef __GNUC__
263#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
264#pragma GCC diagnostic warning "-Wdeprecated-declarations"
265#endif
266#endif
267#undef EXPORTLIBRARY