NX Open C++ 参考指南
2406 v1.1
载入中...
搜索中...
未找到
D:
Tan_NX2406C++
UGopenLib
NX2406
UGOPEN
NXOpen
Features_TrimCurveBuilder.hxx
1
//--------------------------------------------------------------------------
2
// 版权所有 2024 Siemens
3
//--------------------------------------------------------------------------
4
// JA API的C++接口头文件
5
//--------------------------------------------------------------------------
6
//
7
// 源文件:
8
// Features_TrimCurveBuilder.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/GeometricUtilities_CurveOptions.hxx>
22
#include <NXOpen/Features_FeatureBuilder.hxx>
23
#include <NXOpen/Section.hxx>
24
#include <NXOpen/SelectObject.hxx>
25
#include <NXOpen/SelectObjectList.hxx>
26
#include <NXOpen/ugmath.hxx>
27
#include <NXOpen/libnxopencpp_features_exports.hxx>
28
#ifdef _MSC_VER
29
#pragma warning(push)
30
#pragma warning(disable:4996)
31
#endif
32
#ifdef __GNUC__
33
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
34
#endif
35
namespace
NXOpen
36
{
37
namespace
Features
38
{
39
class
TrimCurveBuilder
;
40
}
41
class
Direction
;
42
namespace
Features
43
{
44
class
FeatureBuilder
;
45
}
46
namespace
GeometricUtilities
47
{
48
class
CurveOptions
;
49
}
50
class
Plane
;
51
class
Section
;
52
class
SelectObjectList
;
53
class
SelectPoint
;
54
namespace
Features
55
{
56
class
_TrimCurveBuilderBuilder;
57
class
TrimCurveBuilderImpl;
99
class
NXOPENCPP_FEATURESEXPORT TrimCurveBuilder :
public
NXOpen::Features::FeatureBuilder
100
{
102
public
:
enum
CurveEndOptions
103
{
104
CurveEndOptionsStart
,
105
CurveEndOptionsEnd
106
};
107
108
public
:
enum
FirstBoundingObjectOptions
109
{
110
FirstBoundingObjectOptionsSelectObject
,
111
FirstBoundingObjectOptionsSpecifyPlane
112
};
113
114
public
:
enum
FirstBoundingObjectEndOptions
115
{
116
FirstBoundingObjectEndOptionsStart
,
117
FirstBoundingObjectEndOptionsEnd
118
};
119
120
public
:
enum
SecondBoundingObjectOptions
121
{
122
SecondBoundingObjectOptionsSelectObject
,
123
SecondBoundingObjectOptionsSpecifyPlane
124
};
125
126
public
:
enum
SecondBoundingObjectEndOptions
127
{
128
SecondBoundingObjectEndOptionsStart
,
129
SecondBoundingObjectEndOptionsEnd
130
};
131
132
public
:
enum
InteresectionDirectionOptions
133
{
134
InteresectionDirectionOptionsShortest3dDistance
,
135
InteresectionDirectionOptionsRelativeToWcs
,
136
InteresectionDirectionOptionsAlongAVector
,
137
InteresectionDirectionOptionsAlongScreenNormal
138
};
139
140
public
:
enum
InteresectionMethods
141
{
142
InteresectionMethodsInferred
,
143
InteresectionMethodsUserDefined
144
};
145
146
public
:
enum
CurveExtensionTypes
147
{
148
CurveExtensionTypesNatural
,
149
CurveExtensionTypesLinear
,
150
CurveExtensionTypesCircular
,
151
CurveExtensionTypesNone
152
};
153
154
public
:
enum
CurveTrimRegionOptions
155
{
156
CurveTrimRegionOptionsInside
,
157
CurveTrimRegionOptionsOutside
158
};
159
private
:
TrimCurveBuilderImpl
* m_trimcurvebuilder_impl;
160
private
:
friend
class
_TrimCurveBuilderBuilder;
161
protected
:
TrimCurveBuilder
();
162
public
:
~TrimCurveBuilder
();
166
public
:
NXOpen::Section
*
CurvesToTrim
167
(
168
);
172
public
:
NXOpen::Features::TrimCurveBuilder::CurveEndOptions
CurveEndOption
173
(
174
);
178
public
:
void
SetCurveEndOption
179
(
180
NXOpen::Features::TrimCurveBuilder::CurveEndOptions
curveEndOption
181
);
185
public
:
NXOpen::Features::TrimCurveBuilder::FirstBoundingObjectOptions
FirstBoundingObjectOption
186
(
187
);
191
public
:
void
SetFirstBoundingObjectOption
192
(
193
NXOpen::Features::TrimCurveBuilder::FirstBoundingObjectOptions
firstBoundingObjectOption
194
);
198
public
:
NXOpen::SelectObjectList
*
FirstBoundingObject
199
(
200
);
204
public
:
NXOpen::Features::TrimCurveBuilder::FirstBoundingObjectEndOptions
FirstBoundingObjectEndOption
205
(
206
);
210
public
:
void
SetFirstBoundingObjectEndOption
211
(
212
NXOpen::Features::TrimCurveBuilder::FirstBoundingObjectEndOptions
firstBoundingObjectEndOption
213
);
217
public
:
NXOpen::Plane
*
FirstBoundingPlane
218
(
219
);
223
public
:
void
SetFirstBoundingPlane
224
(
225
NXOpen::Plane
* firstPlane
226
);
230
public
:
NXOpen::Features::TrimCurveBuilder::SecondBoundingObjectOptions
SecondBoundingObjectOption
231
(
232
);
236
public
:
void
SetSecondBoundingObjectOption
237
(
238
NXOpen::Features::TrimCurveBuilder::SecondBoundingObjectOptions
secondboundingObjectOption
239
);
243
public
:
NXOpen::SelectObjectList
*
SecondBoundingObject
244
(
245
);
249
public
:
NXOpen::Plane
*
SecondBoundingPlane
250
(
251
);
255
public
:
void
SetSecondBoundingPlane
256
(
257
NXOpen::Plane
* secondPlane
258
);
262
public
:
NXOpen::Features::TrimCurveBuilder::SecondBoundingObjectEndOptions
SecondBoundingObjectEndOption
263
(
264
);
268
public
:
void
SetSecondBoundingObjectEndOption
269
(
270
NXOpen::Features::TrimCurveBuilder::SecondBoundingObjectEndOptions
secondBoundingObjectEndOption
271
);
275
public
:
NXOpen::Features::TrimCurveBuilder::InteresectionDirectionOptions
InteresectionDirectionOption
276
(
277
);
281
public
:
void
SetInteresectionDirectionOption
282
(
283
NXOpen::Features::TrimCurveBuilder::InteresectionDirectionOptions
interesectionDirectionOption
284
);
288
public
:
NXOpen::Direction
*
InteresectionOptionVector
289
(
290
);
294
public
:
void
SetInteresectionOptionVector
295
(
296
NXOpen::Direction
* interesectionOptionVector
297
);
301
public
:
NXOpen::Features::TrimCurveBuilder::InteresectionMethods
InteresectionMethod
302
(
303
);
307
public
:
void
SetInteresectionMethod
308
(
309
NXOpen::Features::TrimCurveBuilder::InteresectionMethods
interesectionMethod
310
);
314
public
:
NXOpen::SelectObjectList
*
ReverseTrimEnd
315
(
316
);
320
public
:
NXOpen::Features::TrimCurveBuilder::CurveExtensionTypes
CurveExtensionType
321
(
322
);
326
public
:
void
SetCurveExtensionType
327
(
328
NXOpen::Features::TrimCurveBuilder::CurveExtensionTypes
curveExtensionType
329
);
333
public
:
NXOpen::Features::TrimCurveBuilder::CurveTrimRegionOptions
CurveTrimRegionOption
334
(
335
);
339
public
:
void
SetCurveTrimRegionOption
340
(
341
NXOpen::Features::TrimCurveBuilder::CurveTrimRegionOptions
curveTrimRegionOption
342
);
346
public
:
bool
TrimBoundingObjects
347
(
348
);
352
public
:
void
SetTrimBoundingObjects
353
(
354
bool
trimBoundingObjects
355
);
359
public
:
NXOpen::GeometricUtilities::CurveOptions
*
CurveOptions
360
(
361
);
365
public
:
NXOpen::Point3d
FirstBoundingObjectPickPoint
366
(
367
);
371
public
:
void
SetFirstBoundingObjectPickPoint
372
(
373
const
NXOpen::Point3d
& firstBndgObjPickPoint
374
);
378
public
:
NXOpen::Point3d
SecondBoundingObjectPickPoint
379
(
380
);
384
public
:
void
SetSecondBoundingObjectPickPoint
385
(
386
const
NXOpen::Point3d
& secondBndgObjPickPoint
387
);
391
public
:
NXOpen::SelectPoint
*
FirstReferenceIntersection
392
(
393
);
397
public
:
NXOpen::SelectPoint
*
SecondReferenceIntersection
398
(
399
);
403
public
:
NXOpen::SelectObjectList
*
CurveList
404
(
405
);
406
};
407
}
408
}
409
#ifdef _MSC_VER
410
#pragma warning(pop)
411
#endif
412
#ifdef __GNUC__
413
#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
414
#pragma GCC diagnostic warning "-Wdeprecated-declarations"
415
#endif
416
#endif
417
#undef EXPORTLIBRARY