|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! Q' J+ i! o4 J
& ?6 |' c, b5 T. Q7 J' w
NX二次开发源码分享: 高亮镜像Wave linked的面# @5 |1 Y; v) J: y
) r/ q- L( G: F; N# Y" r
static void highlight_mirrored_face(tag_t face)
k# _2 f8 P( G{& D/ v" O+ d: Q* Y
int
6 C6 _3 D) ]+ h% u) v ii,/ ^! S* `6 s& G+ c3 J: r$ n
jj,3 z; q$ \: G' \' \- @# ]
n_feats,
" Z8 M9 @" L/ x$ A) j n_items;/ J, @/ R. t# P' j
char
. T0 G/ `% {+ {; r; u *feat_type;% i7 ~4 C3 {3 s' {. M+ r
tag_t% B7 n9 S4 ?! I4 s$ M& i
*feats,
( K; y; i; l; ^- \ mirror,( K5 U0 C2 p. e4 W" z
*results,
- o# y' P' y3 r *sources;5 T2 J3 ?% |# e' ~, A% s
2 V4 w3 }7 B; Q) f, z/ L n_feats = ask_face_feats(face, &feats);( U9 a7 q' l4 Z9 D& E
! R( J2 v' \! |$ O for (ii = 0; ii < n_feats; ii++)0 e3 C" n* I+ m6 u# D3 |. Y
{
2 \4 a" S2 ?4 ]0 l0 F1 x UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
9 w1 S# X- D* J if ((!strcmp(feat_type, "MIRROR")) &&0 C+ Z: K5 J4 H
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,! U. |8 F2 H. K. t" ?
&mirror)))
1 g" ^! ~, F3 G p! x {$ w0 ~$ o N4 m2 i5 N
0 B9 E$ Y4 Y" ]3 v0 Z# B8 Z /* Begin work around to PR 4244233 */1 o5 A/ |+ X/ y+ O% q
if (mirror == NULL_TAG) m* _: w# g( l9 k0 W/ L" g1 b
{
% m$ ~" z7 y: W; R UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,) Z f& b+ a( J! L: n8 S; d1 a
&n_items, &sources, &results));
2 h% C# g+ B( T) u9 Z for (jj = 0; jj < n_items; jj++)
1 Q+ Q2 b' l( v9 O6 v {% r- |+ \0 P5 b4 D/ D3 }* X5 p
if (results[jj] == face)
( [: b9 p' F- X {
% }# W& x, ?7 X- @4 n; @: b+ J mirror = sources[jj];
: @4 R! v4 t/ A3 a& m8 d6 K break;
0 t6 G w, d o }- }; P- K& N: m( |- t, Q: X1 o
}9 C& L3 M- {( E T3 Q
if (n_items > 0)
* H0 A4 H9 r( W) s5 G* d {
( P, C6 u' L7 u UF_free(sources);, r( n/ t) j9 {3 ~ H6 M: f# H ^
UF_free(results);
6 \$ b0 K/ R; s6 y( q/ j) n! V }' ?& ]( A- M/ L& Y
}
) F% j' Z' U/ t1 x* D+ c6 K2 F p' ^ /* End work around to PR 4244233 */
# l' e, m7 j0 o. Y& E' l0 ?- R
UF_DISP_set_highlight(face, TRUE);+ H d/ H6 C3 V. O9 U
UF_DISP_set_highlight(mirror, TRUE);1 ~6 b) i9 G5 Q/ ]: b- ?+ V
uc1601("Mirrored face highlighted", TRUE);% d% ~7 N6 M2 l( T$ A& C
UF_DISP_set_highlight(face, FALSE);
- |2 F& |* _! c( U% B) j UF_DISP_set_highlight(mirror, FALSE);
0 t/ n# d5 ]- c0 D& z0 s0 a }: B6 P% o# U1 ?! J5 L
UF_free(feat_type);
' e; y# ]4 }2 g: W9 K m }3 r0 r: I1 S" z9 \0 x3 D
8 c" d4 u; T% x
if (n_feats > 0) UF_free(feats);
: n; E: L: V8 i}
! h# X0 \( W9 J! K4 T6 R# `- X; j5 S1 m/ T2 N& [- I* C
|
|