NX Open C++ 参考指南
2406 v1.1
载入中...
搜索中...
未找到
D:
Tan_NX2406C++
UGopenLib
NX2406
UGOPEN
NXOpen
Routing_SplinePathBuilder.hxx
1
//--------------------------------------------------------------------------
2
// Copyright 2024 Siemens
3
//--------------------------------------------------------------------------
4
// JA API的C++接口头文件
5
//--------------------------------------------------------------------------
6
//
7
// 源文件:
8
// Routing_SplinePathBuilder.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/Builder.hxx>
23
#include <NXOpen/ugmath.hxx>
24
#include <NXOpen/libnxopencpp_routing_exports.hxx>
25
#ifdef _MSC_VER
26
#pragma warning(push)
27
#pragma warning(disable:4996)
28
#endif
29
#ifdef __GNUC__
30
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
31
#endif
32
namespace
NXOpen
33
{
34
namespace
Routing
35
{
36
class
SplinePathBuilder
;
37
}
38
class
Builder
;
39
class
Curve
;
40
class
Direction
;
41
class
Expression
;
42
class
NXObject
;
43
class
Point
;
44
namespace
Routing
45
{
46
class
AssignTangencyBuilder
;
47
}
48
namespace
Routing
49
{
50
class
ControlPoint
;
51
}
52
namespace
Routing
53
{
54
class
Stock
;
55
}
56
namespace
Routing
57
{
58
class
_SplinePathBuilderBuilder;
59
class
SplinePathBuilderImpl;
65
class
NXOPENCPP_ROUTINGEXPORT SplinePathBuilder :
public
NXOpen::Builder
66
{
68
public
:
enum
DefiningTypes
69
{
70
DefiningTypesUnsupported
,
71
DefiningTypesInterpolation
,
72
DefiningTypesParametric
,
73
DefiningTypesBezier
,
74
DefiningTypesBezierSlack
,
75
DefiningTypesBezierMaxCurvature
,
76
DefiningTypesBezierMaxCurvatureSlacked
77
};
78
79
public
:
enum
DefiningPointMethod
80
{
81
DefiningPointMethodCreatePoint
,
82
DefiningPointMethodUseExisting
83
};
84
85
public
:
enum
DragMode
86
{
87
DragModeActive
,
88
DragModeInactive
89
};
90
91
public
:
enum
SplinePathSlackType
92
{
93
SplinePathSlackTypePercentLength
,
94
SplinePathSlackTypeAdditionalLength
,
95
SplinePathSlackTypeLockLength
,
96
SplinePathSlackTypeTotalPercentage
,
97
SplinePathSlackTypeTotalAdditional
,
98
SplinePathSlackTypeUndefined
99
};
100
104
public
:
enum
SplinePathAttributeOptions
105
{
106
SplinePathAttributeOptionsRadius
,
107
SplinePathAttributeOptionsRatioToDiameter
108
};
109
110
public
:
enum
SplinePathRadiusSource
111
{
112
SplinePathRadiusSourceExpression
,
113
SplinePathRadiusSourceRatioToDiameter
,
114
SplinePathRadiusSourceAttribute
115
};
116
private
:
SplinePathBuilderImpl
* m_splinepathbuilder_impl;
117
private
:
friend
class
_SplinePathBuilderBuilder;
118
protected
:
SplinePathBuilder
();
119
public
:
~SplinePathBuilder
();
125
public
:
int
AddDefiningPointToSpline
126
(
127
NXOpen::Point
* point ,
128
bool
createNewPoint
129
);
134
public
:
void
AddDefiningPointAtAbsoluteCoords
135
(
136
const
NXOpen::Point3d
& point
137
);
141
public
:
void
UpdateDefiningPointPositionAtIndex
142
(
143
int
index ,
144
NXOpen::Point
* point ,
145
bool
inDrag
146
);
150
public
:
void
UpdateDefiningPoint
151
(
152
int
index ,
153
NXOpen::Point
* point ,
154
bool
inDrag ,
155
const
NXOpen::Vector3d
& translation
156
);
160
public
:
void
DeleteDefiningPointAtIndex
161
(
162
int
index
163
);
170
public
:
void
SetLockToSelectedFlag
171
(
172
bool
lockSelected
173
);
178
public
:
void
SetAddPointsOnSubdivideFlag
179
(
180
bool
addPoints
181
);
185
public
:
void
SetCreateTangencyFlag
186
(
187
bool
createTangency
188
);
192
public
:
double
GetSplineLength
193
(
194
);
198
public
:
double
GetSplineLengthNoShaping
199
(
200
);
204
public
:
void
LockSplineLengthWithShaping
205
(
206
NXOpen::Expression
* length ,
207
NXOpen::Direction
* slackDirection
208
);
212
public
:
void
LockSplineLengthWithShapingFixedPoints
213
(
214
NXOpen::Expression
* length ,
215
NXOpen::Direction
* slackDirection
216
);
222
public
:
void
ShapeByAdditionalLengthMovingPoints
223
(
224
NXOpen::Expression
* length ,
225
NXOpen::Routing::SplinePathBuilder::SplinePathSlackType
slackType ,
226
NXOpen::Direction
* slackDirection
227
);
231
public
:
void
LockSplineLengthNoShaping
232
(
233
NXOpen::Expression
* length
234
);
238
public
:
void
SetSplineLength
239
(
240
NXOpen::Expression
* length
241
);
245
public
:
void
RemoveAllShaping
246
(
247
);
251
public
:
void
RemoveLengthConstraint
252
(
253
);
257
public
:
void
IsLengthLocked
258
(
259
NXOpen::Expression
** length ,
260
bool
* isLocked ,
261
NXOpen::Direction
** slackDirection
262
);
266
public
:
void
AddSlackToSpline
267
(
268
NXOpen::Routing::SplinePathBuilder::SplinePathSlackType
slackType ,
269
NXOpen::Expression
* slackValue ,
270
NXOpen::Direction
* slackDirection
271
);
275
public
:
void
IsSplineSlacked
276
(
277
bool
* slacked ,
278
NXOpen::Routing::SplinePathBuilder::SplinePathSlackType
* slackType ,
279
NXOpen::Expression
** slackValue ,
280
NXOpen::Direction
** downDir
281
);
285
public
:
void
InitializeDrag
286
(
287
int
index
288
);
292
public
:
void
CommitDrag
293
(
294
NXOpen::Point
* definingPoint
295
);
299
public
:
void
AssignExtension
300
(
301
int
pointIndex ,
302
NXOpen::Direction
* direction ,
303
NXOpen::Expression
* forwardLength ,
304
NXOpen::Expression
* backwardLength
305
);
309
public
:
void
AssignHealPathExtension
310
(
311
int
pointIndex ,
312
NXOpen::Direction
* direction ,
313
NXOpen::Expression
* forwardLength ,
314
NXOpen::Expression
* backwardLength
315
);
319
public
:
void
CreateHealPathConstraints
320
(
321
NXOpen::NXObject
* startObject ,
322
NXOpen::NXObject
* endObject
323
);
327
public
:
void
AskDefiningData
328
(
329
std::vector<NXOpen::Point *> & points
330
);
334
public
:
void
GetExtensionDataForPointAtIndex
335
(
336
int
index ,
337
NXOpen::Expression
** forwardLength ,
338
NXOpen::Expression
** backwardLength ,
339
NXOpen::Vector3d
* extDirection
340
);
344
public
:
void
GetDefiningPointPositions
345
(
346
std::vector<double> & pointPositions
347
);
351
public
:
void
GetDefiningPointPositionsAsPoints
352
(
353
std::vector<NXOpen::Point3d> & pointPositions
354
);
358
public
:
NXOpen::Curve
*
GetRouteSegment
359
(
360
);
364
public
:
NXOpen::Routing::ControlPoint
*
GetStartAndEndRcp
365
(
366
NXOpen::Routing::ControlPoint
** startRcp
367
);
371
public
:
void
DetachPoint
372
(
373
int
index
374
);
378
public
:
void
GetOffsetData
379
(
380
int
index ,
381
int
* method ,
385
NXOpen::Point
** basePoint ,
386
NXOpen::Direction
** offDir ,
387
NXString
* exp
388
);
392
public
:
NXOpen::Routing::Stock
*
GetLargestDiameterStock
393
(
394
);
398
public
:
double
GetLockedSplineMinimumLength
399
(
400
);
404
public
:
bool
UseMinimumCheckingValue
405
(
406
);
410
public
:
void
SetUseMinimumCheckingValue
411
(
412
bool
useMinRadius
413
);
418
public
:
NXOpen::Routing::SplinePathBuilder::SplinePathAttributeOptions
MinimumCheckingMethod
419
(
420
);
425
public
:
void
SetMinimumCheckingMethod
426
(
427
NXOpen::Routing::SplinePathBuilder::SplinePathAttributeOptions
routeCheckingMethod
428
);
432
public
:
double
MinimumRadius
433
(
434
);
438
public
:
NXOpen::Expression
*
MinimumCheckingAllowableValue
439
(
440
);
444
public
:
NXOpen::Expression
*
MinimumCheckingAllowableRatio
445
(
446
);
450
public
:
bool
ShowSplineMinimumRadius
451
(
452
);
456
public
:
void
SetShowSplineMinimumRadius
457
(
458
bool
allowDisplay
459
);
463
public
:
void
UpdateExtensionDirectionForPointAtIndex
464
(
465
int
index ,
466
const
NXOpen::Vector3d
& deltaTrans ,
467
const
NXOpen::Matrix3x3
& orientation ,
468
bool
inDrag
469
);
473
public
:
void
UpdateExtensionDirectionAtIndex
474
(
475
int
index ,
476
const
NXOpen::Vector3d
& direction
477
);
481
public
:
void
AssignTangentExtensionForPointAtIndex
482
(
483
int
index ,
484
NXOpen::Expression
* forwardLength ,
485
NXOpen::Expression
* backwardLength ,
486
NXOpen::Vector3d
* tangent ,
487
NXOpen::Vector3d
* normal ,
488
NXOpen::Direction
** extensionDir
489
);
493
public
:
void
AssignExtension
494
(
495
int
pointIndex ,
496
NXOpen::Direction
* direction ,
497
NXOpen::Expression
* forwardLength ,
498
NXOpen::Expression
* backwardLength ,
499
bool
forceDeleteOnZeroExpression
500
);
504
public
:
NXOpen::Expression
*
BoundedCurvatureRadius
505
(
506
);
510
public
:
NXOpen::Expression
*
BoundedCurvatureRatio
511
(
512
);
516
public
:
bool
BoundedCurvature
517
(
518
);
522
public
:
void
SetBoundedCurvature
523
(
524
bool
useBoundedCurvature
525
);
530
public
:
NXOpen::Routing::SplinePathBuilder::DefiningTypes
DefiningType
531
(
532
);
537
public
:
void
SetDefiningType
538
(
539
NXOpen::Routing::SplinePathBuilder::DefiningTypes
definingType
540
);
544
public
:
NXOpen::Routing::AssignTangencyBuilder
*
CreateAssignTangencyBuilder
545
(
546
);
550
public
:
NXOpen::Routing::AssignTangencyBuilder
*
GetAssignTangencyBuilder
551
(
552
);
556
public
:
NXOpen::Routing::SplinePathBuilder::SplinePathRadiusSource
RadiusSource
557
(
558
);
562
public
:
void
SetRadiusSource
563
(
564
NXOpen::Routing::SplinePathBuilder::SplinePathRadiusSource
source
565
);
569
public
:
void
SetStockBoundedDiameter
570
(
571
double
value
572
);
576
public
:
void
SetDefaultPortExtensionLength
577
(
578
double
value
579
);
580
};
581
}
582
}
583
#ifdef _MSC_VER
584
#pragma warning(pop)
585
#endif
586
#ifdef __GNUC__
587
#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
588
#pragma GCC diagnostic warning "-Wdeprecated-declarations"
589
#endif
590
#endif
591
#undef EXPORTLIBRARY