NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Facet_FacetedBodyCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// JA API的C++接口头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Facet_FacetedBodyCollection.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/Facet_BestFitAlignBuilder.hxx>
24#include <NXOpen/Facet_BridgeFacetBodyBuilder.hxx>
25#include <NXOpen/Facet_CurvatureBuilder.hxx>
26#include <NXOpen/Facet_DecimateFacetBodyBuilder.hxx>
27#include <NXOpen/Facet_ExtrudeFacetBodyBuilder.hxx>
28#include <NXOpen/Facet_ExtrudeProfileBuilder.hxx>
29#include <NXOpen/Facet_FeatureExtractionBuilder.hxx>
30#include <NXOpen/Facet_FillHoleBuilder.hxx>
31#include <NXOpen/Facet_MergeFacetBodyBuilder.hxx>
32#include <NXOpen/Facet_MultiPatchAlignmentBuilder.hxx>
33#include <NXOpen/Facet_STLImportBuilder.hxx>
34#include <NXOpen/Facet_SewFacetBodyBuilder.hxx>
35#include <NXOpen/Facet_SnipFacetBodyBuilder.hxx>
36#include <NXOpen/Facet_SubdivideFacetBodyBuilder.hxx>
37#include <NXOpen/TaggedObjectCollection.hxx>
38#include <NXOpen/TaggedObject.hxx>
39#include <NXOpen/ugmath.hxx>
40#include <NXOpen/libnxopencpp_facet_exports.hxx>
41#ifdef _MSC_VER
42#pragma warning(push)
43#pragma warning(disable:4996)
44#endif
45#ifdef __GNUC__
46#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
47#endif
48namespace NXOpen
49{
50 namespace Facet
51 {
53 }
54 class Part;
55 namespace Facet
56 {
57 class FacetedBody;
58 }
59 class Body;
60 class Face;
61 namespace Facet
62 {
64 }
65 namespace Facet
66 {
68 }
69 namespace Facet
70 {
71 class CurvatureBuilder;
72 }
73 namespace Facet
74 {
76 }
77 namespace Facet
78 {
80 }
81 namespace Facet
82 {
84 }
85 namespace Facet
86 {
88 }
89 namespace Facet
90 {
92 }
93 namespace Facet
94 {
95 class FillHoleBuilder;
96 }
97 namespace Facet
98 {
99 class MergeFacetBodyBuilder;
100 }
101namespace Facet
102 {
104 }
105 namespace Facet
106 {
107 class STLImportBuilder;
108 }
109 namespace Facet
110 {
112 }
113 namespace Facet
114 {
116 }
117 namespace Facet
118 {
120 }
121 namespace Facet
122 {
124 }
125 namespace Facet
126 {
128 struct FacetingParameters
129 {
130 public: int MaximumFacetEdges;
136 public: double CurveAngularTolerance;
137 public: double CurveMaximumLength;
140 public: double MaximumFacetSize;
141 public: bool SpecifyParameters;
142 public: int NumberStorageType;
146 public: bool StoreFaceTag;
147 public: bool WithLODS;
148 public: FacetingParameters() :
165 StoreFaceTag(),
166 WithLODS()
167{
168 }
170 public: FacetingParameters(int maximumFacetEdgesInitial ,
173 bool specifySurfaceToleranceInitial ,
179 double surfaceDistanceToleranceInitial ,
182 double surfaceAngularToleranceInitial ,
185 bool specifyCurveToleranceInitial ,
193 double curveDistanceToleranceInitial ,
197 double curveAngularToleranceInitial ,
202 double curveMaximumLengthInitial ,
204 bool specifyConvexFacetsInitial ,
207 bool specifyMaximumFacetSizeInitial ,
211 double maximumFacetSizeInitial ,
215 bool specifyParametersInitial ,
218 int numberStorageTypeInitial ,
224 bool specifyViewDirectionInitial ,
231 const NXOpen::Vector3d &silhouetteViewDirectionInitial ,
234 double silhouetteChordToleranceInitial ,
239 bool storeFaceTagInitial ,
242 bool withLODSInitial ) :
245 MaximumFacetEdges(maximumFacetEdgesInitial),
246 SpecifySurfaceTolerance(specifySurfaceToleranceInitial),
247 SurfaceDistanceTolerance(surfaceDistanceToleranceInitial),
248 SurfaceAngularTolerance(surfaceAngularToleranceInitial),
249 SpecifyCurveTolerance(specifyCurveToleranceInitial),
250 CurveDistanceTolerance(curveDistanceToleranceInitial),
251 CurveAngularTolerance(curveAngularToleranceInitial),
252 CurveMaximumLength(curveMaximumLengthInitial),
253 SpecifyConvexFacets(specifyConvexFacetsInitial),
254 SpecifyMaximumFacetSize(specifyMaximumFacetSizeInitial),
255 MaximumFacetSize(maximumFacetSizeInitial),
256 SpecifyParameters(specifyParametersInitial),
257 NumberStorageType(numberStorageTypeInitial),
258 SpecifyViewDirection(specifyViewDirectionInitial),
259 SilhouetteViewDirection(silhouetteViewDirectionInitial),
260 SilhouetteChordTolerance(silhouetteChordToleranceInitial),
261 StoreFaceTag(storeFaceTagInitial),
262 WithLODS(withLODSInitial)
263{
264 }
265 };
266 }
267 namespace Facet
268 {
269 class FacetedBodyCollectionImpl;
273 class NXOPENCPP_FACETEXPORT FacetedBodyCollection : public NXOpen::TaggedObjectCollection
274 {
276 public: enum Type
277 {
280 };
281 private: FacetedBodyCollectionImpl * m_facetedbodycollection_impl;
282 private: NXOpen::Part* m_owner;
284 public: explicit FacetedBodyCollection(NXOpen::Part *owner);
286 public:
288 tag_t Tag() const;
289 public: ~FacetedBodyCollection();
291 //lint -sem(NXOpen::Facet::FacetedBodyCollection::iterator::copy,initializer)
292 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Facet::FacetedBody *>
293 {
294 public:
296 iterator() : m_context(nullptr), m_current(NULL_TAG)
297 {
298 // coverity[uninit_member]
299 } //lint !e1401 m_state is not initialized
300
301 explicit iterator(NXOpen::Facet::FacetedBodyCollection *context) : m_context(context), m_current(NULL_TAG)
302 {
303 // coverity[uninit_member]
304 }//lint !e1401 m_state is not initialized
306
307 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
308 {
309 copy(other);
310 }
311
312 iterator &operator =(const iterator &other)
313 {
314 if (&other != this)
315 copy(other);
316 return *this;
317 }
318
319 bool operator ==(const iterator &other) const
320 {
321 return m_current == other.m_current && m_context == other.m_context;
322 }
323
324 bool operator !=(const iterator &other) const
325 {
326 return !operator == (other);
327 }
328
329 NXOPENCPP_FACETEXPORT value_type operator * () const;
331 iterator & operator ++()
332 {
333 next();
334 return *this;
335 }
336
337 iterator operator ++(int)
338 {
339 iterator tmp(*this);
340 ++*this;
341 return tmp;
342 }
343 private:
344 void copy(const iterator &other)
345 {
346 m_context = other.m_context;
347 m_current = other.m_current;
348 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
349 m_state[i] = other.m_state[i];
350 }
351 NXOPENCPP_FACETEXPORT void next();
353 tag_t m_current;
354 unsigned int m_state[8];
355 };
356
360{
361 return iterator(this);
362 }
363
370 (
371 const NXString & journalIdentifier
372 );
380 (
381 const char * journalIdentifier
382 );
387 (
388 );
393 (
394 );
398 public: void Convert
399 (
400 NXOpen::Facet::FacetedBody * fromBody ,
402 );
409 (
410 NXOpen::Facet::FacetedBody * fromBody ,
411 NXOpen::Part * toPart ,
413 );
419 public: std::vector<NXOpen::Facet::FacetedBody *> GetAssociatedFacetedBodies
420 (
421 NXOpen::Body * solidBody ,
422 int* numberOfUnloadedFacetedBodies
423 );
429 (
430 );
435 (
436 );
441 (
442 );
447 (
448 );
453 (
454 );
459 (
460 );
465 (
466 );
471 (
472 );
477 (
478 );
488 public: void CreateFacetBody
489 (
490 const std::vector<NXOpen::Body *> & solidBodies ,
491 std::vector<NXOpen::Facet::FacetedBody *> & facetBodies ,
492 std::vector<int> & errorTable
493 );
504 (
505 const std::vector<NXOpen::Face *> & solidFaces ,
506 std::vector<NXOpen::Facet::FacetedBody *> & facetBodies ,
507 std::vector<int> & errorTable
508 );
513 (
514 );
519 (
520 );
525 public: NX_DEPRECATED("Deprecated in NX2206.0.0. This functionality is no longer supported.") NXOpen::Facet::MergeFacetBodyBuilder * CreateMergeFacetBodyBuilder
526 (
527 );
532 (
533 );
538 (
539 );
543 }; //lint !e1712 default constructor not defined for class
544 }
545}
546#ifdef _MSC_VER
547#pragma warning(pop)
548#endif
549#ifdef __GNUC__
550#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
551#pragma GCC diagnostic warning "-Wdeprecated-declarations"
552#endif
553#endif
554#undef EXPORTLIBRARY