|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 U- P6 _8 B, U+ j# d4 u; b# N& E
# G4 n- f7 ?2 c4 rNX二次开发源码分享: 高亮镜像Wave linked的面6 ]# ~) l( `$ Q8 Q6 v
# ~- T, p$ |4 h- W& u0 qstatic void highlight_mirrored_face(tag_t face)
. ?6 m* {: a+ N& D e3 |0 m2 E) `{& ~7 j, |9 S; O) @, L* d& w
int
: W4 Q2 C8 x3 \6 T% ?3 o5 l ii,7 Z5 T6 d3 d& x0 d# f8 F
jj,
% B: \- B4 I$ F- Y$ Q( o n_feats,
$ S+ ~% J; A, S! F$ T n_items;, ^/ W/ G* n0 B* N$ T6 S- m" x
char& P/ e, m7 q+ `! k5 p7 K; u
*feat_type;8 T# |8 Z# T9 ~' k
tag_t
6 Z1 x* S- t$ z9 ], _ *feats, U# T5 X6 R) [ C% b' p8 D
mirror,
: u1 S9 f+ Q' n- E& |- e *results,
+ X# V! z9 k5 |* h4 b( _3 ^8 K- f *sources;" ]1 }( a! F! ~5 `" N0 c: Z* y
% {2 |$ d5 Q. I
n_feats = ask_face_feats(face, &feats);
- Z7 T" o, Q/ @8 O( Q2 I7 r8 y
* K7 @- K' w4 O7 A! b$ G7 @ for (ii = 0; ii < n_feats; ii++)
8 f3 l- O' F0 T% A' G {
: L+ p" o5 x: b6 E" Y9 O* s UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
8 M+ s) C2 u* W, s4 J if ((!strcmp(feat_type, "MIRROR")) &&$ l# f, i* f# v5 c8 L9 T+ {
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,; }& s+ {4 |9 Q% J
&mirror)))
/ N- V* K% q. K) k {! o( w# D( w2 }8 R
& x. u& K9 E- i- x /* Begin work around to PR 4244233 */
- z' H. I$ w" b if (mirror == NULL_TAG)
; T( t2 M% x) b {+ U* R' Z9 ?# u! v, b4 D" j4 D* s2 t
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
) Q, Y: A8 F: O+ I8 N5 @. G8 C &n_items, &sources, &results));
- @) L j: L V, J9 H for (jj = 0; jj < n_items; jj++)8 D# N. F9 m* y" X
{- n$ G+ b# V2 j4 g" u
if (results[jj] == face)2 I0 J6 ~% R# \1 x
{
; ~0 j$ C8 V. W( o f mirror = sources[jj];
: P5 w6 a' m+ ^8 Q6 N# s$ m break;- y% ~7 s1 Q. }' t" q$ Q
}9 I8 h& a- X8 |0 M/ T
}, {$ R& f3 O' p. ]5 j5 j* u
if (n_items > 0)* r) |/ H+ g6 }/ V. j
{
: \% Z$ n0 }8 F/ S2 M UF_free(sources);1 A: o, L0 G9 Q+ |; R
UF_free(results);( z, E- `' c- c
}
) z; J' ^- f2 ~: k7 I. D% H5 D }
! j, k+ z% N8 A/ Q$ d3 { /* End work around to PR 4244233 */
: S" j7 J, C1 L2 k9 D6 F7 m) ^. A4 F4 |5 `' ?! S/ N
UF_DISP_set_highlight(face, TRUE);
* l% i" M( ]' o3 }4 f# Y9 C4 f0 N UF_DISP_set_highlight(mirror, TRUE);
; }& F! p6 G# _( |0 {8 a Y2 m) z uc1601("Mirrored face highlighted", TRUE);& \" X% M7 H- m7 s# c( W
UF_DISP_set_highlight(face, FALSE);) g$ M0 d, F& F1 h/ o
UF_DISP_set_highlight(mirror, FALSE);. V' h- x! p8 F9 J' }, H7 [6 ?6 O
}( Z* d# ?- U: x% Z' T' G/ o
UF_free(feat_type);; t% q( F# S% [, p& k
}: S4 v4 I: i* v+ t2 h k$ ?
; P' M- l& G2 D7 D; ~
if (n_feats > 0) UF_free(feats);7 f8 Y6 S& A. Y5 f
}% S: q/ w- ?6 T* [( K' ~9 J5 \
" P( |5 i3 x% P$ q6 [3 P |
|