NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Annotations_DimensionCollection.hxx
1//--------------------------------------------------------------------------
2// 版权所有 2024 Siemens
3//--------------------------------------------------------------------------
4// JA API的C++接口头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Annotations_DimensionCollection.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/Annotations_AngularDimensionBuilder.hxx>
23#include <NXOpen/Annotations_AppendedTextEditorBuilder.hxx>
24#include <NXOpen/Annotations_Associativity.hxx>
25#include <NXOpen/Annotations_ChamferDimensionBuilder.hxx>
26#include <NXOpen/Annotations_CurveLengthDimensionBuilder.hxx>
27#include <NXOpen/Annotations_DimensionData.hxx>
28#include <NXOpen/Annotations_GeodesicDimensionBuilder.hxx>
29#include <NXOpen/Annotations_HoleCalloutDimensionBuilder.hxx>
30#include <NXOpen/Annotations_LinearDimensionBuilder.hxx>
31#include <NXOpen/Annotations_MajorAngularDimensionBuilder.hxx>
32#include <NXOpen/Annotations_MinorAngularDimensionBuilder.hxx>
33#include <NXOpen/Annotations_OrdinateDimensionBuilder.hxx>
34#include <NXOpen/Annotations_PmiAngularDimensionBuilder.hxx>
35#include <NXOpen/Annotations_PmiChamferDimensionBuilder.hxx>
36#include <NXOpen/Annotations_PmiCurveLengthDimensionBuilder.hxx>
37#include <NXOpen/Annotations_PmiData.hxx>
38#include <NXOpen/Annotations_PmiHoleCalloutDimensionBuilder.hxx>
39#include <NXOpen/Annotations_PmiLinearDimensionBuilder.hxx>
40#include <NXOpen/Annotations_PmiMajorAngularDimensionBuilder.hxx>
41#include <NXOpen/Annotations_PmiMinorAngularDimensionBuilder.hxx>
42#include <NXOpen/Annotations_PmiOrdinateDimensionBuilder.hxx>
43#include <NXOpen/Annotations_PmiRadialDimensionBuilder.hxx>
44#include <NXOpen/Annotations_PmiRapidDimensionBuilder.hxx>
45#include <NXOpen/Annotations_PmiThicknessDimensionBuilder.hxx>
46#include <NXOpen/Annotations_RadialDimensionBuilder.hxx>
47#include <NXOpen/Annotations_RapidDimensionBuilder.hxx>
48#include <NXOpen/Annotations_ThicknessDimensionBuilder.hxx>
49#include <NXOpen/Dimensions.hxx>
50#include <NXOpen/TaggedObjectCollection.hxx>
51#include <NXOpen/TaggedObject.hxx>
52#include <NXOpen/ugmath.hxx>
53#include <NXOpen/libnxopencpp_annotations_exports.hxx>
54#ifdef _MSC_VER
55#pragma warning(push)
56#pragma warning(disable:4996)
57#endif
58#ifdef __GNUC__
59#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
60#endif
61namespace NXOpen
62{
63 namespace Annotations
64 {
66 }
67 class Part;
68 namespace Annotations
69 {
70 class Dimension;
71 }
72 namespace Annotations
73 {
75 }
76 namespace Annotations
77 {
79 }
80 namespace Annotations
81 {
83 }
84 namespace Annotations
85 {
86 class Associativity;
87 }
88 namespace Annotations
89 {
91 }
92 namespace Annotations
93 {
95 }
96 namespace Annotations
97 {
99 }
100namespace Annotations
101 {
102 // 基础同心圆尺寸类
104 }
105 namespace Annotations
106 {
107 // 倒角尺寸类
108 class ChamferDimension;
109 }
110 namespace Annotations
111 {
112 // 倒角尺寸构建器类
114 }
115 namespace Annotations
116 {
117 // 同心圆尺寸类
119 }
120 namespace Annotations
121 {
122 // 曲线长度尺寸构建器类
124 }
125 namespace Annotations
126 {
127 // 圆柱尺寸类
129 }
130 namespace Annotations
131 {
132 // 直径尺寸类
133 class DiameterDimension;
134 }
135 namespace Annotations
136 {
137 // 尺寸数据类
138 class DimensionData;
139 }
140 namespace Annotations
141 {
142 // 折叠半径尺寸类
144 }
145 namespace Annotations
146 {
147 // 测地线尺寸构建器类
149 }
150 namespace Annotations
151 {
152 // 孔标注尺寸构建器类
153 class HoleCalloutDimensionBuilder;
154 }
155 namespace Annotations
156 {
157 // 孔尺寸类
158 class HoleDimension;
159 }
160 namespace Annotations
161 {
162 // 水平尺寸类
164 }
165 namespace Annotations
166 {
167 // 水平坐标尺寸类
169 }
170 namespace Annotations
171 {
172 // 线性尺寸构建器类
174 }
175 namespace Annotations
176 {
177 // 大角度尺寸类
179 }
180 namespace Annotations
181 {
182 // 大角度尺寸构建器类
184 }
185 namespace Annotations
186 {
187 // 小角度尺寸类
189 }
190 namespace Annotations
191 {
192 // 小角度尺寸构建器类
194 }
195 namespace Annotations
196 {
197 // 坐标尺寸类
198 class OrdinateDimension;
199 }
200 namespace Annotations
201 {
202 // 坐标尺寸构建器类
204 }
205 namespace Annotations
206 {
207 // 坐标原点尺寸类
209 }
210 namespace Annotations
211 {
212 // 平行尺寸类
213 class ParallelDimension;
214 }
215 namespace Annotations
216 {
217 // 垂直尺寸类
219 }
220 namespace Annotations
221 {
222 // PMI角度尺寸构建器类
224 }
225namespace Annotations
226{
227 // PMI弧长尺寸类
229}
230namespace Annotations
231{
232 // PMI倒角尺寸类
234}
235namespace Annotations
236{
237 // PMI倒角尺寸构建器类
239}
240namespace Annotations
241{
242 // PMI同心圆尺寸类
244}
245namespace Annotations
246{
247 // PMI曲线长度尺寸构建器类
249}
250namespace Annotations
251{
252 // PMI圆柱尺寸类
254}
255namespace Annotations
256{
257 // PMI数据类
258 class PmiData;
259}
260namespace Annotations
261{
262 // PMI直径尺寸类
264}
265namespace Annotations
266{
267 // PMI折叠半径尺寸类
269}
270namespace Annotations
271{
272 // PMI孔标注尺寸构建器类
273 class PmiHoleCalloutDimensionBuilder;
274}
275namespace Annotations
276{
277 // PMI孔尺寸类
278 class PmiHoleDimension;
279}
280namespace Annotations
281{
282 // PMI水平尺寸类
284}
285namespace Annotations
286{
287 // PMI水平坐标尺寸类
289}
290namespace Annotations
291{
292 // PMI线性尺寸构建器类
294}
295namespace Annotations
296{
297 // PMI大角度尺寸类
299}
300namespace Annotations
301{
302 // PMI大角度尺寸构建器类
304}
305namespace Annotations
306{
307 // PMI小角度尺寸类
309}
310namespace Annotations
311{
312 // PMI小角度尺寸构建器类
314}
315namespace Annotations
316{
317 // PMI坐标尺寸构建器类
319}
320namespace Annotations
321{
322 // PMI坐标原点尺寸类
324}
325namespace Annotations
326{
327 // PMI平行尺寸类
329}
330namespace Annotations
331{
332 // PMI垂直尺寸类
334}
335namespace Annotations
336{
337 // PMI径向尺寸构建器类
339}
340namespace Annotations
341{
342 // PMI半径尺寸类
343 class PmiRadiusDimension;
344}
345namespace Annotations
346{
347 // PMI快速尺寸构建器类
349}
350namespace Annotations
351 {
353 }
354 namespace Annotations
355 {
357 }
358 namespace Annotations
359 {
361 }
362 namespace Annotations
363 {
365 }
366 namespace Annotations
367 {
368 class RadiusDimension;
369 }
370 namespace Annotations
371 {
373 }
374 namespace Annotations
375 {
377 }
378 namespace Annotations
379 {
380 class VerticalDimension;
381 }
382 namespace Annotations
383 {
385 }
386 class Xform;
387 namespace Annotations
388 {
389 class DimensionCollectionImpl;
393 class NXOPENCPP_ANNOTATIONSEXPORT DimensionCollection : public NXOpen::TaggedObjectCollection
394 {
395 private: DimensionCollectionImpl * m_dimensioncollection_impl;
396 private: NXOpen::Part* m_owner;
398 public: explicit DimensionCollection(NXOpen::Part *owner);
400 public:
402 tag_t Tag() const;
403 public: ~DimensionCollection();
405 //lint -sem(NXOpen::Annotations::DimensionCollection::iterator::copy,initializer)
406 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Annotations::Dimension *>
407 {
408 public:
410 iterator() : m_context(nullptr), m_current(NULL_TAG)
411 {
412 // coverity[uninit_member]
413 } //lint !e1401 m_state is not initialized
414
415 explicit iterator(NXOpen::Annotations::DimensionCollection *context) : m_context(context), m_current(NULL_TAG)
416 {
417 // coverity[uninit_member]
418 }//lint !e1401 m_state is not initialized
420
421 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
422 {
423 copy(other);
424 }
425
426 iterator &operator =(const iterator &other)
427 {
428 if (&other != this)
429 copy(other);
430 return *this;
431 }
432
433 bool operator ==(const iterator &other) const
434 {
435 return m_current == other.m_current && m_context == other.m_context;
436 }
437
438 bool operator !=(const iterator &other) const
439 {
440 return !operator == (other);
441 }
442
443 NXOPENCPP_ANNOTATIONSEXPORT value_type operator * () const;
445 iterator & operator ++()
446 {
447 next();
448return *this;
449 }
450
451 iterator operator ++(int)
452 {
453 iterator tmp(*this);
454 ++*this;
455 return tmp;
456 }
457 private:
458 void copy(const iterator &other)
459 {
460 m_context = other.m_context;
461 m_current = other.m_current;
462 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
463 m_state[i] = other.m_state[i];
464 }
465 NXOPENCPP_ANNOTATIONSEXPORT void next();
467 tag_t m_current;
468 unsigned int m_state[8];
469 };
470
474 {
475 return iterator(this);
476 }
477
482 (
483 NXOpen::Annotations::DimensionData * dimensionData ,
484 const NXOpen::Point3d & origin
485 );
491 (
492 NXOpen::Annotations::DimensionData * dimensionData ,
494 NXOpen::Xform * annotationPlane ,
495 const NXOpen::Point3d & origin
496 );
502 (
503 NXOpen::Annotations::DimensionData * dimensionData ,
504 const NXOpen::Point3d & origin
505 );
511 (
512 NXOpen::Annotations::DimensionData * dimensionData ,
514 NXOpen::Xform * annotationPlane ,
515 const NXOpen::Point3d & origin
516 );
522 (
523 NXOpen::Annotations::DimensionData * dimensionData ,
524 const NXOpen::Point3d & origin
525 );
531 (
532 NXOpen::Annotations::DimensionData * dimensionData ,
534 NXOpen::Xform * annotationPlane ,
535 const NXOpen::Point3d & origin
536 );
542 (
543 NXOpen::Annotations::DimensionData * dimensionData ,
544 const NXOpen::Point3d & origin
545 );
551 (
552 NXOpen::Annotations::DimensionData * dimensionData ,
554 NXOpen::Xform * annotationPlane ,
555 const NXOpen::Point3d & origin
556 );
562 (
563 NXOpen::Annotations::DimensionData * dimensionData ,
564 const NXOpen::Point3d & origin
565 );
571 (
572 NXOpen::Annotations::DimensionData * dimensionData ,
574 NXOpen::Xform * annotationPlane ,
575 const NXOpen::Point3d & origin
576 );
582 (
583 NXOpen::Annotations::DimensionData * dimensionData ,
584 const NXOpen::Point3d & origin
585 );
591 (
592 NXOpen::Annotations::DimensionData * dimensionData ,
594 NXOpen::Xform * annotationPlane ,
595 const NXOpen::Point3d & origin
596 );
602 (
603 NXOpen::Annotations::DimensionData * dimensionData ,
604 const NXOpen::Point3d & origin
605 );
611 (
612 NXOpen::Annotations::DimensionData * dimensionData ,
614 NXOpen::Xform * annotationPlane ,
615 const NXOpen::Point3d & origin
616 );
622 (
623 NXOpen::Annotations::DimensionData * dimensionData ,
624 const NXOpen::Point3d & origin
625 );
631 (
632 NXOpen::Annotations::DimensionData * dimensionData ,
634 NXOpen::Xform * annotationPlane ,
635 const NXOpen::Point3d & origin
636 );
642 (
643 NXOpen::Annotations::DimensionData * dimensionData ,
644 const NXOpen::Point3d & origin
645 );
651 (
652 NXOpen::Annotations::DimensionData * dimensionData ,
654 NXOpen::Xform * annotationPlane ,
655 const NXOpen::Point3d & origin
656 );
662 (
663 NXOpen::Annotations::DimensionData * dimensionData ,
664 const NXOpen::Point3d & origin
665 );
671 (
672 NXOpen::Annotations::DimensionData * dimensionData ,
674 NXOpen::Xform * annotationPlane ,
675 const NXOpen::Point3d & origin
676 );
682 (
683 NXOpen::Annotations::DimensionData * dimensionData ,
684 const NXOpen::Point3d & origin
685 );
691 (
692 NXOpen::Annotations::DimensionData * dimensionData ,
694 NXOpen::Xform * annotationPlane ,
695 const NXOpen::Point3d & origin
696 );
702 (
703 NXOpen::Annotations::DimensionData * dimensionData ,
704 const NXOpen::Point3d & origin
705 );
711 (
712 NXOpen::Annotations::DimensionData * dimensionData ,
714 NXOpen::Xform * annotationPlane ,
715 const NXOpen::Point3d & origin
716 );
722 (
723 NXOpen::Annotations::DimensionData * dimensionData ,
724 const NXOpen::Point3d & origin
725 );
731 (
732 NXOpen::Annotations::DimensionData * dimensionData ,
734 NXOpen::Xform * annotationPlane ,
735 const NXOpen::Point3d & origin
736 );
742 (
743 NXOpen::Annotations::DimensionData * dimensionData ,
745 const NXOpen::Point3d & origin
746 );
752 (
753 NXOpen::Annotations::DimensionData * dimensionData ,
756 NXOpen::Xform * annotationPlane ,
757 const NXOpen::Point3d & origin
758 );
764 (
765 NXOpen::Annotations::DimensionData * dimensionData ,
766 const NXOpen::Point3d & origin
767 );
773 (
774 NXOpen::Annotations::DimensionData * dimensionData ,
776 NXOpen::Xform * annotationPlane ,
777 const NXOpen::Point3d & origin
778 );
784 (
785 NXOpen::Annotations::DimensionData * dimensionData ,
786 const NXOpen::Point3d & origin
787 );
793 (
794 NXOpen::Annotations::DimensionData * dimensionData ,
796 NXOpen::Xform * annotationPlane ,
797 const NXOpen::Point3d & origin
798 );
804 (
805 NXOpen::Annotations::DimensionData * dimensionData ,
806 const NXOpen::Point3d & origin
807 );
813 (
814 NXOpen::Annotations::DimensionData * dimensionData ,
816 NXOpen::Xform * annotationPlane ,
817 const NXOpen::Point3d & origin
818 );
823 (
824 NXOpen::Annotations::DimensionData * dimensionData ,
825 const NXOpen::Point3d & origin ,
826 bool allowDuplicate ,
827 bool repositionDim
828 );
833 (
834 NXOpen::Annotations::DimensionData * dimensionData ,
836 NXOpen::Xform * annotationPlane ,
837 const NXOpen::Point3d & origin ,
838 bool allowDuplicate ,
839 bool repositionDim
840 );
845 (
846 NXOpen::Annotations::DimensionData * dimensionData ,
847 const NXOpen::Point3d & origin ,
848 bool allowDuplicate ,
849 bool repositionDim
850 );
855 (
856 NXOpen::Annotations::DimensionData * dimensionData ,
858 NXOpen::Xform * annotationPlane ,
859 const NXOpen::Point3d & origin ,
860 bool allowDuplicate ,
861 bool repositionDim
862 );
868 (
871 );
877 (
880 );
886 (
887 NXOpen::Annotations::BaseArcLengthDimension * curveLengthDimension
889 );
895 (
896 NXOpen::Annotations::PmiArcLengthDimension * curveLengthDimension
898 );
904 (
907 );
913 (
916 );
922 (
923 NXOpen::Annotations::Dimension * linearDimension
925 );
927
930 public: NXOpen::Annotations::HoleCalloutDimensionBuilder * CreateHoleCalloutDimensionBuilder
931 (
932 NXOpen::Annotations::Dimension * holecalloutDimension
934 );
936
941 (
942 NXOpen::Annotations::Dimension * linearDimension
944 );
946
949 public: NXOpen::Annotations::PmiHoleCalloutDimensionBuilder * CreatePmiHoleCalloutDimensionBuilder
950 (
951 NXOpen::Annotations::Dimension * measurementDimension
953 );
955
960 (
961 NXOpen::Annotations::Dimension * radialDimension
963 );
969 (
970 NXOpen::Annotations::Dimension * radialDimension
972 );
978 (
979 NXOpen::Annotations::Dimension * rapidDimension
980 );
986 (
987 NXOpen::Annotations::Dimension * rapidDimension
988 );
994 (
997 );
1003 (
1006 );
1012 (
1015 );
1021 (
1022 NXOpen::Annotations::Dimension * angularDimension
1024 );
1030 (
1033 );
1039 (
1042 );
1048 (
1049 NXOpen::Annotations::OrdinateDimension * ordinateDimension
1051 );
1057 (
1058 NXOpen::Annotations::OrdinateDimension * ordinateDimension
1060 );
1065 (
1067 );
1073 (
1075 );
1076 }; //lint !e1712 default constructor not defined for class
1077 }
1078}
1079#ifdef _MSC_VER
1080#pragma warning(pop)
1081#endif
1082#ifdef __GNUC__
1083#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
1084#pragma GCC diagnostic warning "-Wdeprecated-declarations"
1085#endif
1086#endif
1087#undef EXPORTLIBRARY