NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Rule_RuleManager.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// JA API的C++接口头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Rule_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/Rule_RuleInstance.hxx>
22#include <NXOpen/Rule_RuleOpenBuilder.hxx>
23#include <NXOpen/Rule_RuleSaveAsBuilder.hxx>
24#include <NXOpen/Rule_RuleSaveBuilder.hxx>
25#include <NXOpen/TaggedObject.hxx>
26#include <NXOpen/libruleopencpp_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 namespace Rule
37 {
38 class RuleManager;
39 }
40 class Session;
41 class Part;
42 namespace Rule
43 {
44 class RuleInstance;
45 }
46 namespace Rule
47 {
49 }
50 namespace Rule
51 {
52 class RuleOpenBuilder;
53 }
54 namespace Rule
55 {
56 class RuleSaveAsBuilder;
57 }
58 namespace Rule
59 {
60 class RuleSaveBuilder;
61 }
62 namespace Rule
63 {
64 class Snippet;
65 }
66 namespace Rule
67 {
69 }
70 namespace Rule
71 {
72 class RuleManagerImpl;
77 class RULEOPENCPPEXPORT RuleManager
78 {
79 private: RuleManagerImpl * m_rulemanager_impl;
80 private: NXOpen::Session* m_owner;
82 public: explicit RuleManager(NXOpen::Session *owner);
84 public:
86 tag_t Tag() const;
87 private: static RuleManager* theRuleManager;
93 public: ~RuleManager();
97 public: void SaveRule
98 (
99 NXOpen::Rule::RuleInstance * ruleInstance ,
100 const NXString & filename
101 );
106 (
107 NXOpen::Rule::RuleInstance * ruleInstance ,
108 const char * filename
109 );
114 (
115 const NXString & path
116 );
121 (
122 const char * path
123 );
128 (
129 const NXString & path
130 );
135 (
136 const char * path
137 );
142 (
143 NXOpen::Part * part ,
144 const NXString & applicaton ,
145 const NXString & ruleName
146 );
151 (
152 NXOpen::Part * part ,
153 const char * applicaton ,
154 const char * ruleName
155 );
159 public: void ExecuteRules
160 (
161 const std::vector<NXOpen::Rule::RuleInstance *> & rules
162 );
166 public: void AddRelation
167 (
168 NXOpen::Rule::RuleInstance * parentRuleInstance ,
169 NXOpen::Rule::RuleInstance * childRuleInstance
170 );
174 public: void RemoveRelation
175 (
176 NXOpen::Rule::RuleInstance * ruleInstance
177 );
181 public: NXOpen::Rule::RuleSaveAsBuilder * CreateRuleSaveAsBuilder
182 (
183 NXOpen::Rule::RuleInstance * ruleInstance
184 );
189 (
190 NXOpen::Part * part
191 );
196 (
197 NXOpen::Part * part ,
198 const NXString & applicaton ,
199 const NXString & ruleName
200 );
205 (
206 NXOpen::Part * part ,
207 const char * applicaton ,
208 const char * ruleName
209 );
213 public: NXOpen::Rule::RuleSaveBuilder * CreateRuleSaveBuilder
214 (
215 NXOpen::Rule::RuleInstance * ruleInstance
216 );
225 }; //lint !e1712 default constructor not defined for class
226 }
227}
228#ifdef _MSC_VER
229#pragma warning(pop)
230#endif
231#ifdef __GNUC__
232#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
233#pragma GCC diagnostic warning "-Wdeprecated-declarations"
234#endif
235#endif
236#undef EXPORTLIBRARY