|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- V' U) P% p* C+ `3 b
, p( m7 f8 { c) P/ @1 HNX二次开发源码分享: 高亮镜像Wave linked的面! L& s# r/ X$ v! u- F. v) t! p/ q% d
+ E3 B7 p8 x! [$ a. c2 A$ a6 @* bstatic void highlight_mirrored_face(tag_t face), {* J A6 I6 _; n5 M& @+ E2 i% [& F
{
7 q' q; r% O1 Z& r: b int
( P8 n: B* I* d ii,% e/ T! V6 t, j0 I7 x. x
jj,$ A* B% d- _9 a& c
n_feats,7 `2 A7 D2 `- `& u3 r0 t
n_items;5 P" L6 W+ Q2 X* G
char
* z" s) |2 s$ I4 x I# E0 O *feat_type;
' T3 V9 m- l5 y# R; w8 K tag_t
& x: I. B& o5 P! Z A2 q/ Q *feats,
, k+ O D. u' C- F1 p mirror,# H+ M h% d% X( J, m
*results,; }! X- p1 s4 |
*sources;; o V% r) v8 u; y) G7 C
1 ]4 X4 L. D7 T n_feats = ask_face_feats(face, &feats);! F% @7 |. m1 d% C7 S* ~9 D8 W4 x
# T7 q4 @7 h7 O# q/ o
for (ii = 0; ii < n_feats; ii++)3 {1 i& a& @% h& J7 C) [
{
; J7 s* A4 b8 @3 W# E; E& _ UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
7 i8 E, |+ v/ a if ((!strcmp(feat_type, "MIRROR")) &&4 J* G& M6 C, X0 E
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
6 @/ @$ w) \, J# X8 } &mirror)))
/ ?) C+ ^3 |1 } {8 S& h. t, v7 `0 x4 c
9 O) `4 P) \ s) v N
/* Begin work around to PR 4244233 */9 Q0 }, Q/ V) F' S6 ~
if (mirror == NULL_TAG)
! e0 E1 x2 q" K" b1 Y: b {8 W7 {" V" f" Y6 k; M
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
/ l6 x; U0 \: O7 Y7 h1 x &n_items, &sources, &results));
( d, b! }( `7 o" Z) N, q: o3 X( Z for (jj = 0; jj < n_items; jj++)
- R# ?+ |0 X1 x" i' |1 y/ ^; L {. i) y {" t, E7 Q- D8 @
if (results[jj] == face) c% {. y% n- c5 E8 e. `
{! O2 ?% |4 \' {9 y4 ?- o
mirror = sources[jj];( Z" w! S2 |# k) l9 o7 b) I
break;
; m" _3 U* Y( Y% w$ e }
& ~: J: l8 B0 O1 x }( t' |! q5 ?4 Q' I5 n
if (n_items > 0)/ D3 g6 J$ Y& N6 n# O* |* u! T/ A
{
( A* E0 z1 Q/ I% R2 d) a UF_free(sources);1 o* L, s% y+ D& V) x" a! {# Q( V
UF_free(results);/ a( r% I# J% N
}( O& n3 c r/ q1 Y
}8 }; h8 {8 q/ x
/* End work around to PR 4244233 */* L+ r+ u6 Y0 k, } _9 ^- a( ~
- q T2 M. b1 |4 S b+ h2 }- [
UF_DISP_set_highlight(face, TRUE);: r1 A! F* @: B2 l7 f
UF_DISP_set_highlight(mirror, TRUE);
8 [. m/ |$ v0 g9 V. i uc1601("Mirrored face highlighted", TRUE);( e$ H) T+ X: k" R# c. H
UF_DISP_set_highlight(face, FALSE); N' i- Y9 i, g$ C: k# x4 F/ |
UF_DISP_set_highlight(mirror, FALSE);
( P* G% h, f" T! F7 K4 y1 p }. M1 l" P+ J' ?9 y7 t' y
UF_free(feat_type);. J* A& \) z/ z( o ^6 ^
}
5 c1 z D4 F1 A3 j* }1 N& u$ y: B$ ?2 T8 I+ Z1 Z, m$ L6 n: j
if (n_feats > 0) UF_free(feats);4 Y" G6 h2 ^7 H: F
}, o7 P9 M: H( M: k
; u6 r2 s5 N- x7 l) ]( I, ^/ `. f
|
|