NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
RuleManager.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// C++ 接口的 JA API 头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// RuleManager.ja
9//
10// 生成方式:
11// apiwrap
12//
13// 警告:
14// 此文件为自动生成 - 请勿手动编辑
15//
16#pragma once
17#include <NXOpen/NXDeprecation.hxx>
18#include <vector>
19#include <NXOpen/NXString.hxx>
20#include <NXOpen/Callback.hxx>
21#include <NXOpen/Session.hxx>
22#include <NXOpen/TaggedObject.hxx>
23#include <NXOpen/libnxopencpp_exports.hxx>
24#ifdef _MSC_VER
25#pragma warning(push)
26#pragma warning(disable:4996)
27#endif
28#ifdef __GNUC__
29#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
30#endif
31namespace NXOpen
32{
33 class RuleManager;
34 class BasePart;
35 class NXObject;
36 class RuleManagerImpl;
40 class NXOPENCPPEXPORT RuleManager
41 {
58
59 public:
60 struct ParameterRule
61 {
62 public: NXString Name;
63 public: NXString Rule;
64 public: ParameterRule() :
65 Name(),
66 Rule()
67 {
68 }
70 public: ParameterRule(const NXString &nameInitial ,
71 const NXString &ruleInitial ) :
72 Name(nameInitial),
73 Rule(ruleInitial)
74 {
75 }
76 };
77
78 public:
79 struct FunctionInformation
80 {
82 public: int NumArguments;
86 public: bool IsDynamic;
87 public: bool DesignLogic;
89 public: FunctionInformation() :
90 ReturnType(),
95 IsDynamic(),
97 SeeAlso()
98{
99 }
101 public: FunctionInformation(const NXString &returnTypeInitial ,
102 int numArgumentsInitial ,
103 const NXString &briefDescriptionInitial ,
104 const NXString &fullDescriptionInitial ,
105 const NXString &returnDescriptionInitial ,
106 bool isDynamicInitial ,
107 bool designLogicInitial ,
108 const NXString &seeAlsoInitial ) :
109 ReturnType(returnTypeInitial),
110 NumArguments(numArgumentsInitial),
111 BriefDescription(briefDescriptionInitial),
112 FullDescription(fullDescriptionInitial),
113 ReturnDescription(returnDescriptionInitial),
114 IsDynamic(isDynamicInitial),
115 DesignLogic(designLogicInitial),
116 SeeAlso(seeAlsoInitial)
117 {
118 }
119 };
120
121 public:
122 struct FunctionArgumentsInformation
123 {
131 public: FunctionArgumentsInformation() :
132 ArgumentName(),
133 ArgumentType(),
139 {
140 }
142 public: FunctionArgumentsInformation(const NXString &argumentNameInitial ,
143 const NXString &argumentTypeInitial ,
144 const NXString &argumentStyleInitial ,
145 const NXString &argumentDefaultInitial ,
146 const NXString &argumentDimensionalityInitial ,
147 const NXString &argumentDescriptionInitial ,
148 const NXString &argumentSelectionTypesInitial ) :
149 ArgumentName(argumentNameInitial),
150 ArgumentType(argumentTypeInitial),
151 ArgumentStyle(argumentStyleInitial),
152 ArgumentDefault(argumentDefaultInitial),
153 ArgumentDimensionality(argumentDimensionalityInitial),
154 ArgumentDescription(argumentDescriptionInitial),
155 ArgumentSelectionTypes(argumentSelectionTypesInitial)
156 {
157 }
158 };
159
160 public:
161 struct AdoptableTypes
162 {
163 public: int ObjectType;
164 public: int ObjectSubtype;
165 public: int FeatureType;
166 public: AdoptableTypes() :
167 ObjectType(),
170 {
171 }
173 public: AdoptableTypes(int objectTypeInitial ,
174 int objectSubtypeInitial ,
175 int featureTypeInitial ) :
176 ObjectType(objectTypeInitial),
177 ObjectSubtype(objectSubtypeInitial),
178 FeatureType(featureTypeInitial)
179 {
180 }
181 };
182
194
203
215
216 public:
217 struct DebugInstance
218 {
222 public: int NRules;
223 public: int Rules0;
224 public: DebugInstance() :
225 PartName(),
226 RefChain(),
227 NhaChain(),
228 NRules(),
229 Rules0()
230{
231 }
233 public: DebugInstance(const NXString &partNameInitial ,
234 const NXString &refChainInitial ,
235 const NXString &nhaChainInitial ,
236 int nRulesInitial ,
237 int rules0Initial ) :
238 PartName(partNameInitial),
239 RefChain(refChainInitial),
240 NhaChain(nhaChainInitial),
241 NRules(nRulesInitial),
242 Rules0(rules0Initial)
243 {
244 }
245 };
246
247 public:
248 struct DebugRule
249 {
250 public: NXString Unit;
251 public: NXString Name;
253 public: NXString Type;
255 public: DebugRule() :
256 Unit(),
257 Name(),
258 Formula(),
259 Type(),
260 Value()
261 {
262 }
264 public: DebugRule(const NXString &unitInitial ,
265 const NXString &nameInitial ,
266 const NXString &formulaInitial ,
267 const NXString &typeInitial ,
268 const NXString &valueInitial ) :
269 Unit(unitInitial),
270 Name(nameInitial),
271 Formula(formulaInitial),
272 Type(typeInitial),
273 Value(valueInitial)
274 {
275 }
276 };
277 private: RuleManagerImpl * m_rulemanager_impl;
278 private: NXOpen::BasePart* m_owner;
280 public: explicit RuleManager(NXOpen::BasePart *owner);
282 public:
284 tag_t Tag() const;
285 public: ~RuleManager();
290 (
292 int* intentStatus
293 );
297 public: void CreateDynamicRule
298 (
299 const NXString & referenceChain ,
300 const NXString & ruleName ,
302 const NXString & ruleText
303 );
308 (
309 const char * referenceChain ,
310 const char * ruleName ,
312 const char * ruleText
313 );
317 public: void CreateDynamicRule
318 (
319 const NXString & referenceChain ,
320 const NXString & ruleName ,
321 const NXString & behaviors ,
322 const NXString & ruleUnits ,
323 const NXString & ruleText ,
324 const NXString & leadingComment
325 );
330 (
331 const char * referenceChain ,
332 const char * ruleName ,
333 const char * behaviors ,
334 const char * ruleUnits ,
335 const char * ruleText ,
336 const char * leadingComment
337 );
341 public: void CreateDynamicRule
342 (
343 const NXString & referenceChain ,
344 const NXString & ruleName ,
345 const NXString & behaviors ,
346 const NXString & ruleText ,
347 const NXString & leadingComment
348 );
353 (
354 const char * referenceChain ,
355 const char * ruleName ,
356 const char * behaviors ,
357 const char * ruleText ,
358 const char * leadingComment
359 );
370 public: int DoKfUpdate
371 (
373 );
377 public: void DeleteDynamicRule
378 (
379 const NXString & referenceChain ,
380 const NXString & ruleName
381 );
386 (
387 const char * referenceChain ,
388 const char * ruleName
389 );
393 public: void CreateChildRule
394 (
395 const NXString & ruleName ,
396 const NXString & className ,
397 const std::vector<NXOpen::RuleManager::ParameterRule> & parameters
398 );
403 (
404 const char * ruleName ,
405 const char * className ,
406 const std::vector<NXOpen::RuleManager::ParameterRule> & parameters
407 );
411 public: void DeleteChildRule
412 (
413 const NXString & ruleName
414 );
419 (
420 const char * ruleName
421 );
425 public: void RemoveRuleOnly
426 (
427 const NXString & referenceChain
428 );
433 (
434 const char * referenceChain
435 );
439 public: bool IsUserClass
440 (
441 const NXString & className
442 );
447 (
448 const char * className
449 );
453 public: std::vector<NXString> GetRulesOfClass
454 (
455 const NXString & className
456 );
460 std::vector<NXString> GetRulesOfClass
461 (
462 const char * className
463 );
467 public: std::vector<NXString> GetDynamicRules
468 (
469 const NXString & childRuleName
470 );
474 std::vector<NXString> GetDynamicRules
475 (
476 const char * childRuleName
477 );
481 public: std::vector<NXString> GetSpecifiedParameters
482 (
483 const NXString & referenceChain
484 );
488 std::vector<NXString> GetSpecifiedParameters
489 (
490 const char * referenceChain
491 );
496 (
497 const NXString & referenceChain ,
498 const NXString & parameterName
499 );
504 (
505 const char * referenceChain ,
506 const char * parameterName
507 );
511 public: void Rename
512 (
513 const NXString & referenceChain ,
514 const NXString & newName
515 );
520 (
521 const char * referenceChain ,
522 const char * newName
523 );
527 public: void Copy
528 (
529 const NXString & oldNameChain ,
530 const NXString & oldLeafName ,
531 const NXString & newNameChain ,
532 const NXString & newLeafName
533 );
537 void Copy
538 (
539 const char * oldNameChain ,
540 const char * oldLeafName ,
541 const char * newNameChain ,
542 const char * newLeafName
543 );
548 (
549 const NXString & referenceChain
550 );
555 (
556 const char * referenceChain
557 );
561 public: std::vector<NXString> GetClassesOfChildList
562 (
563 const NXString & referenceChain
564 );
568 std::vector<NXString> GetClassesOfChildList
569 (
570 const char * referenceChain
571 );
575 public: std::vector<NXString> GetDependents
576 (
577 const NXString & referenceChain
578 );
582 std::vector<NXString> GetDependents
583 (
584 const char * referenceChain
585 );
589 public: std::vector<NXString> GetDependencies
590 (
591 const NXString & referenceChain
592 );
596 std::vector<NXString> GetDependencies
597 (
598 const char * referenceChain
599 );
604 (
605 const NXString & className ,
606 const NXString & ruleName
607 );
612 (
613 const char * className ,
614 const char * ruleName
615 );
620 (
621 const NXString & referenceChain
622 );
627 (
628 const char * referenceChain
629 );
634 (
635 const NXString & referenceChain
636 );
641 (
642 const char * referenceChain
643 );
647 public: bool IsChildRule
648 (
649 const NXString & className ,
650 const NXString & ruleName
651 );
656 (
657 const char * className ,
658 const char * ruleName
659 );
663 public: bool IsChildRule
664 (
665 const NXString & referenceChain
666 );
671 (
672 const char * referenceChain
673 );
677 public: bool IsChildList
678 (
679 const NXString & className ,
680 const NXString & ruleName
681 );
686 (
687 const char * className ,
688 const char * ruleName
689 );
693 public: bool IsChildList
694 (
695 const NXString & referenceChain
696 );
701 (
702 const char * referenceChain
703 );
707 public: bool IsUncached
708 (
709 const NXString & className ,
710 const NXString & ruleName
711 );
716 (
717 const char * className ,
718 const char * ruleName
719 );
723 public: bool IsUncached
724 (
725 const NXString & referenceChain
726 );
731 (
732 const char * referenceChain
733 );
737 public: bool IsHidden
738 (
739 const NXString & className ,
740 const NXString & ruleName
741 );
746 (
747 const char * className ,
748 const char * ruleName
749 );
753 public: bool IsHidden
754 (
755 const NXString & referenceChain
756 );
761 (
762 const char * referenceChain
763 );
767 public: bool IsLocal
768 (
769 const NXString & className ,
770 const NXString & ruleName
771 );
776 (
777 const char * className ,
778 const char * ruleName
779 );
783 public: bool IsParameter
784 (
785 const NXString & className ,
786 const NXString & ruleName
787 );
792 (
793 const char * className ,
794 const char * ruleName
795 );
799 public: bool IsCanonical
800 (
801 const NXString & className ,
802 const NXString & ruleName
803 );
808 (
809 const char * className ,
810 const char * ruleName
811 );
815 public: bool IsModifiable
816 (
817 const NXString & className ,
818 const NXString & ruleName
819 );
824 (
825 const char * className ,
826 const char * ruleName
827 );
831 public: bool IsModifiable
832 (
833 const NXString & referenceChain
834 );
839 (
840 const char * referenceChain
841 );
845 public: bool IsMethod
846 (
847 const NXString & className ,
848 const NXString & ruleName
849 );
854 (
855 const char * className ,
856 const char * ruleName
857 );
861 public: bool IsMethod
862 (
863 const NXString & referenceChain
864 );
869 (
870 const char * referenceChain
871 );
875 public: bool IsComputed
876 (
877 const NXString & referenceChain
878 );
883 (
884 const char * referenceChain
885 );
889 public: void RebuildTrees
890 (
891 );
895 public: bool IsRuleInClass
896 (
897 const NXString & className ,
898 const NXString & ruleName
899 );
904 (
905 const char * className ,
906 const char * ruleName
907 );
912 (
913 const NXString & className ,
914 const NXString & ruleName
915 );
920 (
921 const char * className ,
922 const char * ruleName
923 );
928 (
929 const NXString & referenceChain
930 );
935 (
936 const char * referenceChain
937 );
942 (
943 const NXString & referenceChain
944 );
949 (
950 const char * referenceChain
951 );
956 (
957 NXOpen::NXObject * ugObject
958 );
962 public: void RegenerateAll
963 (
964 );
968 public: void SyntaxCheck
969 (
970 const NXString & fileName
971 );
976 (
977 const char * fileName
978 );
982 public: std::vector<NXString> GetAncestorClasses
983 (
984 const NXString & className
985 );
989 std::vector<NXString> GetAncestorClasses
990 (
991 const char * className
992 );
996 public: void Reload
997 (
998 bool refreshUserClassDir
999 );
1004 (
1005 const NXString & className
1006 );
1011 (
1012 const char * className
1013 );
1018 (
1019 std::vector<NXString> & classes ,
1020 std::vector<NXString> & functions
1021 );
1025 public: std::vector<NXString> GetRuleTypes
1026 (
1027 );
1031 public: std::vector<NXString> GetClasses
1032 (
1034 );
1038 public: std::vector<NXString> GetFunctions
1039 (
1041 bool doSort
1042 );
1046 public: void RemoveAllRules
1047 (
1048 );
1053 (
1054 const NXString & fileName
1055 );
1060 (
1061 const char * fileName
1062 );
1066 public: void WriteDfaFile
1067 (
1068 const NXString & fileName ,
1069 const NXString & fileString ,
1070 bool replace
1071 );
1076 (
1077 const char * fileName ,
1078 const char * fileString ,
1079 bool replace
1080 );
1085 (
1086 const NXString & className
1087 );
1092 (
1093 const char * className
1094 );
1098 public: std::vector<NXString> GetLastError
1099 (
1100 );
1105 (
1106 NXOpen::NXObject * ugObject
1107 );
1112 (
1113 NXOpen::NXObject * ugObject
1114 );
1118 public: bool AdoptObjects
1119 (
1120 const std::vector<NXOpen::NXObject *> & ugObjects
1121 );
1125 public: std::vector<NXOpen::RuleManager::AdoptableTypes> GetAdoptableTypes
1126 (
1127 );
1132 (
1133 const std::vector<NXOpen::NXObject *> & ugObjects
1134 );
1139 (
1140 const NXString & functionName ,
1141 const NXString & instanceOrClassName ,
1142 bool isInstance ,
1143 bool briefOnly
1144 );
1149 (
1150 const char * functionName ,
1151 const char * instanceOrClassName ,
1152 bool isInstance ,
1153 bool briefOnly
1154 );
1158 public: std::vector<NXOpen::RuleManager::FunctionArgumentsInformation> GetFunctionArgumentsInformation
1159 (
1160 const NXString & functionName ,
1161 const NXString & instanceOrClassName ,
1162 bool isInstance ,
1163 bool briefOnly
1164 );
1168 std::vector<NXOpen::RuleManager::FunctionArgumentsInformation> GetFunctionArgumentsInformation
1169 (
1170 const char * functionName ,
1171 const char * instanceOrClassName ,
1172 bool isInstance ,
1173 bool briefOnly
1174 );
1179 (
1180 const NXString & functionName
1181 );
1186 (
1187 const char * functionName
1188 );
1192 public: bool IsUserFunction
1193 (
1194 const NXString & functionName
1195 );
1200 (
1201 const char * functionName
1202 );
1206 public: bool IsExpressionRule
1207 (
1208 const NXString & ruleName
1209 );
1214 (
1215 const char * ruleName
1216 );
1221 (
1222 const NXString & referenceChain
1223 );
1228 (
1229 const char * referenceChain
1230 );
1234 public: bool DebugFlag
1235 (
1236 );
1240 public: void SetDebugFlag
1241 (
1242 bool debugFlag
1243 );
1248 (
1249 std::vector<NXOpen::RuleManager::DebugInstance> & instances ,
1250 std::vector<NXOpen::RuleManager::DebugRule> & rules
1251 );
1255 public: bool CreateMode
1256 (
1257 );
1261 public: int GetErrorStart
1262 (
1263 );
1267 public: int GetErrorEnd
1268 (
1269 );
1274 (
1275 const NXString & nameChain
1276 );
1281 (
1282 const char * nameChain
1283 );
1284 }; //lint !e1712 default constructor not defined for class
1285}
1286#ifdef _MSC_VER
1287#pragma warning(pop)
1288#endif
1289#ifdef __GNUC__
1290#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
1291#pragma GCC diagnostic warning "-Wdeprecated-declarations"
1292#endif
1293#endif
1294#undef EXPORTLIBRARY