NX Open C++ 参考指南
2406 v1.1
载入中...
搜索中...
未找到
D:
Tan_NX2406C++
UGopenLib
NX2406
UGOPEN
NXOpen
GeometricUtilities_LawBuilder.hxx
1
//--------------------------------------------------------------------------
2
// Copyright 2024 Siemens
3
//--------------------------------------------------------------------------
4
// C++接口JA API的头文件
5
//--------------------------------------------------------------------------
6
//
7
// 源文件:
8
// GeometricUtilities_LawBuilder.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/Expression.hxx>
22
#include <NXOpen/GeometricUtilities_AlongSpineBuilder.hxx>
23
#include <NXOpen/GeometricUtilities_MultiTransitionLawBuilder.hxx>
24
#include <NXOpen/GeometricUtilities_NonInflectingLawBuilder.hxx>
25
#include <NXOpen/GeometricUtilities_SShapedLawBuilder.hxx>
26
#include <NXOpen/GeometricUtilities_IComponentBuilder.hxx>
27
#include <NXOpen/TaggedObject.hxx>
28
#include <NXOpen/Section.hxx>
29
#include <NXOpen/SelectObject.hxx>
30
#include <NXOpen/libnxopencpp_geometricutilities_exports.hxx>
31
#ifdef _MSC_VER
32
#pragma warning(push)
33
#pragma warning(disable:4996)
34
#endif
35
#ifdef __GNUC__
36
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
37
#endif
38
namespace
NXOpen
39
{
40
namespace
GeometricUtilities
41
{
42
class
LawBuilder
;
43
}
44
class
Expression
;
45
namespace
GeometricUtilities
46
{
47
class
AlongSpineBuilder
;
48
}
49
namespace
GeometricUtilities
50
{
51
class
IComponentBuilder
;
52
}
53
namespace
GeometricUtilities
54
{
55
class
MultiTransitionLawBuilder
;
56
}
57
namespace
GeometricUtilities
58
{
59
class
NonInflectingLawBuilder
;
60
}
61
namespace
GeometricUtilities
62
{
63
class
SShapedLawBuilder
;
64
}
65
class
Section
;
66
class
SelectLine
;
67
namespace
GeometricUtilities
68
{
69
class
_LawBuilderBuilder;
70
class
LawBuilderImpl;
74
class
NXOPENCPP_GEOMETRICUTILITIESEXPORT LawBuilder :
public
NXOpen::TaggedObject
,
public
virtual
NXOpen::GeometricUtilities::IComponentBuilder
75
{
77
public
:
enum
Type
78
{
79
TypeConstant
,
80
TypeLinear
,
81
TypeCubic
,
82
TypeLinearAlongSpine
,
83
TypeCubicAlongSpine
,
84
TypeByEquation
,
85
TypeByLawCurve
,
86
TypeMultiTransition
,
87
TypeNonInflecting
,
88
TypeSShaped
89
};
90
91
public
:
enum
RetainLawCurveOption
92
{
93
RetainLawCurveOptionKeepOriginal
,
94
RetainLawCurveOptionReplace
95
};
96
private
:
LawBuilderImpl
* m_lawbuilder_impl;
97
private
:
friend
class
_LawBuilderBuilder;
98
protected
:
LawBuilder
();
99
public
:
~LawBuilder
();
103
public
:
NXOpen::GeometricUtilities::LawBuilder::Type
LawType
104
(
105
);
109
public
:
void
SetLawType
110
(
111
NXOpen::GeometricUtilities::LawBuilder::Type
lawType
112
);
116
public
:
NXOpen::Expression
*
Value
117
(
118
);
122
public
:
NXOpen::Expression
*
StartValue
123
(
124
);
128
public
:
NXOpen::Expression
*
EndValue
129
(
130
);
134
public
:
NXOpen::GeometricUtilities::LawBuilder::RetainLawCurveOption
LawCurveOption
135
(
136
);
140
public
:
void
SetLawCurveOption
141
(
142
NXOpen::GeometricUtilities::LawBuilder::RetainLawCurveOption
lawCurveOption
143
);
147
public
:
NXOpen::GeometricUtilities::AlongSpineBuilder
*
AlongSpineData
148
(
149
);
154
public
:
NXString
Parameter
155
(
156
);
161
public
:
void
SetParameter
162
(
163
const
NXString
& parameter
164
);
169
void
SetParameter
170
(
171
const
char
* parameter
172
);
177
public
:
NXString
Function
178
(
179
);
184
public
:
void
SetFunction
185
(
186
const
NXString
& function
187
);
192
void
SetFunction
193
(
194
const
char
* function
195
);
199
public
:
NXOpen::Section
*
LawCurve
200
(
201
);
205
public
:
NXOpen::SelectLine
*
BaseLine
206
(
207
);
211
public
:
bool
ReverseDirection
212
(
213
);
217
public
:
void
SetReverseDirection
218
(
219
bool
reverseDirection
220
);
224
public
:
void
SetSpineIntoBuilder
225
(
226
NXOpen::Section
* spine
227
);
231
public
:
NXOpen::GeometricUtilities::MultiTransitionLawBuilder
*
MultiTransitionLaw
232
(
233
);
237
public
:
NXOpen::GeometricUtilities::NonInflectingLawBuilder
*
NonInflectingLaw
238
(
239
);
243
public
:
NXOpen::GeometricUtilities::SShapedLawBuilder
*
SShapedLaw
244
(
245
);
251
public
:
bool
IsSimpleCubicAlongSpine
252
(
253
);
259
public
:
void
SetSimpleCubicAlongSpine
260
(
261
bool
isSimpleCubic
262
);
270
public
:
virtual
bool
Validate
271
(
272
);
273
};
274
}
275
}
276
#ifdef _MSC_VER
277
#pragma warning(pop)
278
#endif
279
#ifdef __GNUC__
280
#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
281
#pragma GCC diagnostic warning "-Wdeprecated-declarations"
282
#endif
283
#endif
284
#undef EXPORTLIBRARY