NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
CurveCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// JA API的C++接口头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// CurveCollection.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/SmartObject.hxx>
24#include <NXOpen/TaggedObject.hxx>
25#include <NXOpen/ugmath.hxx>
26#include <NXOpen/libnxopencpp_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 class CurveCollection;
37 class BasePart;
38 class Curve;
39 class Arc;
40 class Ellipse;
41 class Hyperbola;
42 class ICurve;
44 class InfiniteLine;
45 class Line;
46 class NXMatrix;
47 class Parabola;
48 class Point;
49 class Section;
50 class Xform;
51 class CurveCollectionImpl;
56 class NXOPENCPPEXPORT CurveCollection : public NXOpen::TaggedObjectCollection
57 {
58 private: CurveCollectionImpl * m_curvecollection_impl;
59 private: NXOpen::BasePart* m_owner;
61 public: explicit CurveCollection(NXOpen::BasePart *owner);
63 public:
65 tag_t Tag() const;
66 public: ~CurveCollection();
68 //lint -sem(NXOpen::CurveCollection::iterator::copy,initializer)
69 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Curve *>
70 {
71 public:
73 iterator() : m_context(nullptr), m_current(NULL_TAG)
74 {
75 // coverity[uninit_member]
76 } //lint !e1401 m_state未初始化
77
78 explicit iterator(NXOpen::CurveCollection *context) : m_context(context), m_current(NULL_TAG)
79 {
80 // coverity[uninit_member]
81 }//lint !e1401 m_state未初始化
83
84 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
85 {
86 copy(other);
87 }
88
89 iterator &operator =(const iterator &other)
90 {
91 if (&other != this)
92copy(other);
93 return *this;
94 }
95
96 bool operator ==(const iterator &other) const
97 {
98 return m_current == other.m_current && m_context == other.m_context;
99 }
100
101 bool operator !=(const iterator &other) const
102 {
103 return !operator == (other);
104 }
105
106 NXOPENCPPEXPORT value_type operator * () const;
108 iterator & operator ++()
109 {
110 next();
111 return *this;
112 }
113
114 iterator operator ++(int)
115 {
116 iterator tmp(*this);
117 ++*this;
118 return tmp;
119 }
120 private:
121 void copy(const iterator &other)
122 {
123 m_context = other.m_context;
124 m_current = other.m_current;
125 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
126 m_state[i] = other.m_state[i];
127 }
128 NXOPENCPPEXPORT void next();
129 NXOpen::CurveCollection *m_context;
130 tag_t m_current;
131 unsigned int m_state[8];
132 };
133
137 {
138 return iterator(this);
139 }
140
144 (
145 const NXOpen::Point3d & startPoint ,
146 const NXOpen::Point3d & endPoint
147 );
152 (
153 NXOpen::Point * startPoint ,
154 NXOpen::Point * endPoint
155 );
160 (
161 const NXOpen::Point3d & startPoint ,
162 const NXOpen::Point3d & endPoint
163 );
168 (
169 NXOpen::Line * line
170 );
175 (
176 const NXOpen::Point3d & startPoint ,
177 const NXOpen::Point3d & pointOn ,
178 const NXOpen::Point3d & endPoint ,
179 bool alternateSolution ,
180 bool* startAndEndGotFlipped
181 );
186 (
187 const NXOpen::Point3d & center ,
188 NXOpen::NXMatrix * matrix ,
189 double radius ,
190 double startAngle ,
191 double endAngle
192 );
197 (
198 const NXOpen::Point3d & center ,
199 const NXOpen::Vector3d & xDirection ,
200 const NXOpen::Vector3d & yDirection ,
201 double radius ,
202 double startAngle ,
203 double endAngle
204 );
209 (
210 const NXOpen::Point3d & center ,
211 double majorRadius ,
212 double minorRadius ,
213 double startAngle ,
214 double endAngle ,
215 double rotationAngle ,
216 NXOpen::NXMatrix * matrix
217 );
222 (
223 const NXOpen::Point3d & center ,
224 const NXOpen::Vector3d & xDirection ,
225 const NXOpen::Vector3d & yDirection ,
226 double majorRadius ,
227 double minorRadius ,
228 double startAngle ,
229 double endAngle
230 );
235 (
236 const NXOpen::Point3d & center ,
237 double focalLength ,
238 double minimumDY ,
239 double maximumDY ,
240 double rotationAngle ,
241 NXOpen::NXMatrix * matrix
242 );
247 (
248 const NXOpen::Point3d & center ,
249 const NXOpen::Vector3d & xDirection ,
250 const NXOpen::Vector3d & yDirection ,
251 double focalLength ,
252 double minimumDY ,
253 double maximumDY
254 );
259 (
260 const NXOpen::Point3d & center ,
261 double semiTransverseLength ,
262 double semiConjugateLength ,
263 double minimumDY ,
264 double maximumDY ,
265 double rotationAngle ,
266 NXOpen::NXMatrix * matrix
267 );
272 (
273 const NXOpen::Point3d & center ,
274 const NXOpen::Vector3d & xDirection ,
275 const NXOpen::Vector3d & yDirection ,
276 double semiTransverseLength ,
277 double semiConjugateLength ,
278 double minimumDY ,
279 double maximumDY
280 );
285 (
288 double tolerance
289 );
294 (
297 double tolerance
298 );
303 (
304 NXOpen::Section * section ,
306 double tolerance
307 );
312 (
313 NXOpen::Curve * curve ,
315 );
320 (
321 NXOpen::ICurve * curveToExtract ,
322 int type ,
323 int subtype ,
324 NXOpen::Xform * xform ,
325 double tolerance ,
327 );
328 }; //lint !e1712 default constructor not defined for class
329}
330#ifdef _MSC_VER
331#pragma warning(pop)
332#endif
333#ifdef __GNUC__
334#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
335#pragma GCC diagnostic warning "-Wdeprecated-declarations"
336#endif
337#endif
338#undef EXPORTLIBRARY