NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Routing_SegmentManager.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// C++接口头文件:JA API
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Routing_SegmentManager.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/Routing_HealPath.hxx>
22#include <NXOpen/Routing_SplineData.hxx>
23#include <NXOpen/TaggedObject.hxx>
24#include <NXOpen/ugmath.hxx>
25#include <NXOpen/libnxopencpp_routing_exports.hxx>
26#ifdef _MSC_VER
27#pragma warning(push)
28#pragma warning(disable:4996)
29#endif
30#ifdef __GNUC__
31#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
32#endif
33namespace NXOpen
34{
35 namespace Routing
36 {
37 class SegmentManager;
38 }
39 class Part;
40 namespace Assemblies
41 {
42 class Component;
43 }
44 class Curve;
46 namespace Routing
47 {
49 }
50 namespace Routing
51 {
52 class ControlPoint;
53 }
54 namespace Routing
55 {
56 class HealPath;
57 }
58 namespace Routing
59 {
60 class ISegment;
61 }
62 namespace Routing
63 {
65 }
66 namespace Routing
67 {
69 }
70 namespace Routing
71 {
72 class Port;
73 }
74 namespace Routing
75 {
76 class SplineData;
77 }
78 namespace Routing
79 {
81 }
82 namespace Routing
83 {
93
100
107
114
121
128 }
129namespace Routing
130 {
131 class SegmentManagerImpl;
136 class NXOPENCPP_ROUTINGEXPORT SegmentManager
137 {
149
151 public:
152 struct SubdivideOption
153 {
155 public: double StartPercent;
156 public: double EndPercent;
157 public: double ScreenPointPercentage;
158 public: int Direction;
160 public: int NumberOfSegments;
161 public: double GeometricRatio;
162 public: double IncrementalArcLength;
163 public: double ChordalTolerance;
164 public: bool Dcm3CreateTangency;
165 public: bool Dcm3AddPoints;
167 public: SubdivideOption() :
169 StartPercent(),
170 EndPercent(),
172 Direction(),
180 {
181 }
184 double startPercentInitial ,
185 double endPercentInitial ,
186 double screenPointPercentageInitial ,
187 int directionInitial ,
189 int numberOfSegmentsInitial ,
190 double geometricRatioInitial ,
191 double incrementalArcLengthInitial ,
192 double chordalToleranceInitial ,
193 bool dcm3CreateTangencyInitial ,
194 bool dcm3AddPointsInitial ,
195 bool dcm3AddFixConstraintInitial ) :
196 SpacingOption(spacingOptionInitial),
197 StartPercent(startPercentInitial),
198 EndPercent(endPercentInitial),
199 ScreenPointPercentage(screenPointPercentageInitial),
200 Direction(directionInitial),
201 NumberOfSegments(numberOfSegmentsInitial),
202 GeometricRatio(geometricRatioInitial),
203 IncrementalArcLength(incrementalArcLengthInitial),
204 ChordalTolerance(chordalToleranceInitial),
205 Dcm3CreateTangency(dcm3CreateTangencyInitial),
206 Dcm3AddPoints(dcm3AddPointsInitial),
207 Dcm3AddFixConstraint(dcm3AddFixConstraintInitial)
208 {
209 }
210 };
211 private: SegmentManagerImpl * m_segmentmanager_impl;
212 private: NXOpen::Part* m_owner;
214 public: explicit SegmentManager(NXOpen::Part *owner);
216 public:
218 tag_t Tag() const;
219 public: ~SegmentManager();
224 (
225 NXOpen::Curve * followCurve ,
229 );
235 (
238 );
245 (
246 NXOpen::Routing::ISegment * segment ,
247 NXOpen::Curve * followCurve
248 );
252 public: void SimplifySegments
253 (
254 const std::vector<NXOpen::Routing::ISegment *> & segments ,
255 bool doUpdate ,
256 std::vector<NXOpen::Routing::ISegment *> & newSegments
257 );
261 public: void Subdivide
262 (
263 NXOpen::Routing::ISegment * segment ,
265 std::vector<NXOpen::Routing::ISegment *> & subdivideSegments
266 );
274 (
277 );
283 (
284 NXOpen::DisplayableObject * startObject ,
285 NXOpen::DisplayableObject * endObject ,
286 NXOpen::Routing::HealPath * healPath
287 );
293 (
294 );
298 public: void ModelTerminals
299 (
300 NXOpen::Routing::Port * multiPort ,
301 double cutBackLength ,
302 const NXString & extensionString ,
303 bool overrideCharx ,
304 const std::vector<NXOpen::Routing::Port *> & terminalPorts
305 );
310 (
311 NXOpen::Routing::Port * multiPort ,
312 double cutBackLength ,
313 const char * extensionString ,
314 bool overrideCharx ,
315 const std::vector<NXOpen::Routing::Port *> & terminalPorts
316 );
320 public: void UnmodelTerminals
321 (
322 NXOpen::Routing::Port * multiPort ,
323 const std::vector<NXOpen::Routing::Port *> & terminalPorts
324 );
329 (
331 );
335 public: std::vector<NXOpen::Routing::ISegment *> GetShortestPathBetweenControlPoints
336 (
337 NXOpen::Routing::ControlPoint * controlPoint1 ,
338 NXOpen::Routing::ControlPoint * controlPoint2
339 );
346 (
347 NXOpen::Routing::ISegment * splineSegment
348 );
355 (
356 const std::vector<NXOpen::Point3d> & positions
357 );
362 (
363 NXOpen::Routing::ISegment * segment1 ,
364 NXOpen::Routing::ISegment * segment2 ,
365 NXOpen::Routing::ControlPoint * controlPoint
366 );
383 }; //lint !e1712 default constructor not defined for class
384 }
385}
386#ifdef _MSC_VER
387#pragma warning(pop)
388#endif
389#ifdef __GNUC__
390#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
391#pragma GCC diagnostic warning "-Wdeprecated-declarations"
392#endif
393#endif
394#undef EXPORTLIBRARY