NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
PhysicalMaterialCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// 物理材料API的C++接口头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// PhysicalMaterialCollection.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/PhysicalMaterial.hxx>
24#include <NXOpen/TaggedObject.hxx>
25#include <NXOpen/libnxopencpp_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{
36 class MaterialManager;
37 class Material;
38 namespace Fields
39 {
40 class IApplication;
41 }
42 namespace PhysMat
43 {
45 }
46 namespace PhysMat
47 {
49 }
50 namespace PhysMat
51 {
53 }
54 class PhysicalMaterial;
56 class TaggedObject;
57 class PhysicalMaterialCollectionImpl;
63 {
64 private: PhysicalMaterialCollectionImpl * m_physicalmaterialcollection_impl;
65 private: NXOpen::MaterialManager* m_owner;
69 public:
71 tag_t Tag() const;
74 //lint -sem(NXOpen::PhysicalMaterialCollection::iterator::copy,initializer)
75 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Material *>
76 {
77 public:
79 iterator() : m_context(nullptr), m_current(NULL_TAG)
80 {
81 // coverity[uninit_member]
82 } //lint !e1401 m_state is not initialized
83
84 explicit iterator(NXOpen::PhysicalMaterialCollection *context) : m_context(context), m_current(NULL_TAG)
85 {
86 // coverity[uninit_member]
87 }//lint !e1401 m_state is not initialized
89
90 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
91 {
92 copy(other);
93 }
94
95 iterator &operator =(const iterator &other)
96{
97 if (&other != this)
98 copy(other);
99 return *this;
100 }
101
102 bool operator ==(const iterator &other) const
103 {
104 return m_current == other.m_current && m_context == other.m_context;
105 }
106
107 bool operator !=(const iterator &other) const
108 {
109 return !operator == (other);
110 }
111
112 NXOPENCPPEXPORT value_type operator * () const;
114 iterator & operator ++()
115 {
116 next();
117 return *this;
118 }
119
120 iterator operator ++(int)
121 {
122 iterator tmp(*this);
123 ++*this;
124 return tmp;
125 }
126 private:
127 void copy(const iterator &other)
128 {
129 m_context = other.m_context;
130 m_current = other.m_current;
131 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
132 m_state[i] = other.m_state[i];
133 }
134 NXOPENCPPEXPORT void next();
136 tag_t m_current;
137 unsigned int m_state[8];
138 };
139
143 {
144 return iterator(this);
145 }
146
151 (
152 const NXString & journalIdentifier
153 );
159 (
160 const char * journalIdentifier
161 );
167 (
168 );
174 (
175 );
181 (
182 NXOpen::PhysicalMaterial * physicalMaterial
183 );
189 (
190 NXOpen::PhysicalMaterial * physicalMaterial
191 );
197 (
199 );
205 (
206 );
212 (
213 const NXString & libraryReference
214 );
220 (
221 const char * libraryReference
222 );
229 (
230 const NXString & libraryName ,
231 const NXString & materialName
232 );
239 (
240 const char * libraryName ,
241 const char * materialName
242 );
248 public: NX_DEPRECATED("已在NX2212.0.0中弃用。不再支持旧版库格式,请改用MatML文件。") NXOpen::PhysicalMaterial * LoadFromLegacynxlibrary
249 (
250 const NXString & libraryReference
251 );
258 (
259 const char * libraryReference
260 );
266 (
267 const NXString & materialName
268 );
274 (
275 const char * materialName
276 );
282 (
283 const NXString & pcLibName ,
284 const NXString & pcMatlName
285 );
291 (
292 const char * pcLibName ,
293 const char * pcMatlName
294 );
300 public: NX_DEPRECATED("Deprecated in NX12.0.0. Teamcenter material item revision is no longer supported.") NXOpen::PhysicalMaterial * LoadMaterialItemRevision
301 (
302 const NXString & pcMatlItem ,
303 const NXString & pcRevisionID
304 );
311 (
312 const char * pcMatlItem ,
313 const char * pcRevisionID
314 );
320 public: NX_DEPRECATED("Deprecated in NX12.0.0. Teamcenter material item revision is no longer supported.") NXOpen::PhysicalMaterial * GetLoadedMaterialItemRevision
321 (
322 const NXString & pcMatlItem ,
323 const NXString & pcRevisionID
324 );
331 (
332 const char * pcMatlItem ,
333 const char * pcRevisionID
334 );
340 (
341 const NXString & pcLibName ,
342 const NXString & pcMatlName
343 );
349 (
350 const char * pcLibName ,
351 const char * pcMatlName
352 );
358 (
359 const NXString & libraryName ,
360 const NXString & libraryReference
361 );
367 (
368 const char * libraryName ,
369 const char * libraryReference
370 );
376 (
377 const NXString & libraryName ,
378 const NXString & libraryReference ,
379 bool retainParentPedigree
380 );
386 (
387 const char * libraryName ,
388 const char * libraryReference ,
389 bool retainParentPedigree
390 );
396 public: NX_DEPRECATED("Deprecated in NX12.0.0. Teamcenter material item revision is no longer supported.") NXOpen::PhysicalMaterial * CopyMaterialItemRevision
397 (
398 const NXString & pcMatlItem ,
399 const NXString & pcRevisionID
400 );
407 (
408 const char * pcMatlItem ,
409 const char * pcRevisionID
410 );
417 (
418 std::vector<NXString> & pcMatlNames ,
419 std::vector<NXString> & pcLibNames ,
420 const NXString & pcExportedLibName
421 );
428 (
429 std::vector<NXString> & pcMatlNames ,
430 std::vector<NXString> & pcLibNames ,
431 const char * pcExportedLibName
432 );
440 (
441 std::vector<NXString> & pcMatlNames ,
442 std::vector<NXString> & pcLibNames ,
443 const NXString & pcExportedLibName ,
444 const std::vector<bool> & bUpdateLibraryReference
445 );
453 (
454 std::vector<NXString> & pcMatlNames ,
455 std::vector<NXString> & pcLibNames ,
456 const char * pcExportedLibName ,
457 const std::vector<bool> & bUpdateLibraryReference
458 );
466 (
467 std::vector<NXString> & pcMatlNames ,
468 std::vector<NXString> & pcLibNames ,
469 const NXString & pcExportedLibName ,
470 bool bUpdateLibraryReference
471 );
479 (
480 std::vector<NXString> & pcMatlNames ,
481 std::vector<NXString> & pcLibNames ,
482 const char * pcExportedLibName ,
483 bool bUpdateLibraryReference
484 );
489 (
490 const std::vector<NXOpen::PhysicalMaterial *> & tEditedMatl ,
491 std::vector<NXString> & pMatlNames ,
492 const NXString & pcLibName
493 );
498 (
499 const std::vector<NXOpen::PhysicalMaterial *> & tEditedMatl ,
500 std::vector<NXString> & pMatlNames ,
501 const char * pcLibName
502 );
507 (
508 std::vector<NXString> & pMatlNames ,
509 const NXString & pcLibName
510 );
515 (
516 std::vector<NXString> & pMatlNames ,
517 const char * pcLibName
518 );
523 (
524 std::vector<NXOpen::TaggedObject *> & objects
525 );
530 (
531 );
536 (
537 std::vector<NXOpen::TaggedObject *> & objects
538 );
543 (
544 );
550 (
551 NXOpen::TaggedObject * obj
552 );
557 (
558 const NXString & pcLibAr ,
559 const NXString & pcMatlNameAr
560 );
565 (
566 const char * pcLibAr ,
567 const char * pcMatlNameAr
568 );
573 (
574 const NXString & pcLibAr ,
575 const NXString & pcMatlNameAr ,
576 bool bOverride ,
577 const NXString & pcFileName
578 );
583 (
584 const char * pcLibAr ,
585 const char * pcMatlNameAr ,
586 bool bOverride ,
587 const char * pcFileName
588 );
593 public: NX_DEPRECATED("Deprecated in NX12.0.0. Teamcenter material item revision is no longer supported.") void InfoItemRevision
594 (
595 const NXString & pcMaterialItem ,
597 );
603 (
604 const char * pcMaterialItem ,
605 const char * pcRevision
606 );
611 public: NX_DEPRECATED("Deprecated in NX12.0.0. Teamcenter material item revision is no longer supported.") void InfoItemRevisionToFile
612 (
613 const NXString & pcMaterialItem ,
614 const NXString & pcRevision ,
617 );
623 (
624 const char * pcMaterialItem ,
625 const char * pcRevision ,
626 bool bOverride ,
627 const char * pcFileName
628 );
633 (
634 );
639 (
640 const NXString & pcLibName
641 );
646 (
647 const char * pcLibName
648 );
653 public: NX_DEPRECATED("Deprecated in NX1953.0.0. Please use PhysicalMaterialCollection::GetMaterialSpecifiedPropertyNeutralNames instead.") std::vector<NXString> GetMaterialPropertyNeutralNames
654 (
655 const NXString & materialName
656 );
662 (
663 const char * materialName
664 );
669 public: NX_DEPRECATED("Deprecated in NX1953.0.0. Please use PhysicalMaterialCollection::GetMaterialPropertyValueAndDisplayName instead.") NXString GetMaterialPropertyValue
670 (
671 const NXString & materialName ,
673 );
679 (
680 const char * materialName ,
681 const char * propNeutralName
682 );
689 (
690 const NXString & pcLibName ,
691 const NXString & materialName
692 );
699 (
700 const char * pcLibName ,
701 const char * materialName
702 );
709 (
710 const NXString & pcLibName ,
711 const NXString & materialName ,
712 const NXString & propNeutralName ,
713 NXString* propDisplayName
714 );
721 (
722 const char * pcLibName ,
723 const char * materialName ,
724 const char * propNeutralName ,
725 NXString* propDisplayName
726 );
730 public: NXOpen::Fields::IApplication * GetDynaApplication
731 (
732 );
733}; //lint !e1712 未为类定义默认构造函数
734}
735#ifdef _MSC_VER
736#pragma warning(pop)
737#endif
738#ifdef __GNUC__
739#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
740#pragma GCC diagnostic warning "-Wdeprecated-declarations"
741#endif
742#endif
743#undef EXPORTLIBRARY