|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 L3 V7 Z, @/ D& B
6 I+ r) i' Z. tNX二次开发源码分享: 高亮镜像Wave linked的面
" r1 B! q. L7 e- M* X7 {# x. Q9 k0 P8 ]4 V
static void highlight_mirrored_face(tag_t face)
0 j1 ?' v! T- g* g, H' t8 z{
& C1 p$ n& v9 X, x* e2 u* I int. r) V2 w! R/ {* t" d
ii,
" C- l; m- {4 W) Q% W jj,
. i& b8 ]1 I+ u6 @' C& `7 s n_feats,) P) E6 m9 A* P' _4 ]$ k# i
n_items;. R: F! Y" o1 z/ d
char
& l; c$ v$ f: U# b *feat_type;& ]4 k7 A& M) v$ m" c8 V. d
tag_t
! b! k9 B# n/ @! }' c2 O( { *feats,. K `# H( T$ a/ G
mirror,0 J/ l8 w, r) g
*results,
: k- M1 s+ ?: c6 ?7 f *sources;
! p! F/ z: R; Y3 {# D8 X3 i4 o; a3 E& q- _
n_feats = ask_face_feats(face, &feats);& j( f, U; p) A! h1 }1 j; o4 q$ m
; q3 x4 l! g% z2 ^
for (ii = 0; ii < n_feats; ii++)1 v' E# ]2 L- p- E9 f" r# \
{
7 z. R1 L4 O! q1 P! n' @# J" w; g$ T UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
+ X1 T* g: W! T" @ if ((!strcmp(feat_type, "MIRROR")) &&! U: J$ p+ ^* X$ P9 C/ ~ I: W3 ~
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,5 e1 a, l; G& ]$ o8 F) S
&mirror)))
! [' o9 h* Y) G1 |- [ {# B6 q$ M4 j7 ]9 q1 R2 r) N! i0 V4 R
7 [: F0 \/ t4 w& N0 I /* Begin work around to PR 4244233 */
; t% Y" C+ d+ |7 ]. z6 c if (mirror == NULL_TAG)
+ i# i7 `- {9 M) ]6 A {
6 s6 X; l$ I) o, O4 v* _ UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
' S( f: O9 W# A! X4 h6 } &n_items, &sources, &results));
/ v& E" y$ ^. ] r* n' y for (jj = 0; jj < n_items; jj++)9 F7 d/ ]4 b/ x$ Z0 o; M$ g
{
' o6 y" u# o0 _2 p* a4 | if (results[jj] == face)
7 i9 Y. z; G/ ?( g {- F$ ]! e+ [" t$ T9 J* k; s" W
mirror = sources[jj];+ Y" ?; e" _* \& `% L2 k
break;
3 D! ]1 E! w1 W6 W$ h* V$ c1 [ }: U" y0 Q4 ?. ~, ^7 z) e: \- f% G
}
, p; W% y* s& M; ?6 Y- c8 d if (n_items > 0)# }# P+ C5 ?- K0 R' r) @& [
{! {( S. A" x' s
UF_free(sources);
* G* \/ M1 {- d9 T4 i UF_free(results);' `0 I* ~$ y) c0 z! l1 V) P; j% ]
}
4 J- {8 k: \9 G" R6 f, m+ L0 K }3 _: `; B. f- @' y2 O9 @- x2 f
/* End work around to PR 4244233 */' B8 i3 B8 p5 E4 y4 i1 ]" f! z2 i
% n& U# R2 ^4 C% J- \3 ?7 U: J
UF_DISP_set_highlight(face, TRUE);: y3 e; t, t& O8 ?
UF_DISP_set_highlight(mirror, TRUE);
. J/ u o+ D$ m5 v+ ^- i+ Q uc1601("Mirrored face highlighted", TRUE);7 {2 _- W- G. J. s
UF_DISP_set_highlight(face, FALSE);
8 K3 M1 C0 S( I8 j5 Q& U$ o0 W UF_DISP_set_highlight(mirror, FALSE);2 ?; e! c) Y+ Q# B0 ^
}
0 q7 K! R& f, W UF_free(feat_type);
) l- N/ Y/ v/ S; g }2 P0 M! X) I1 f- R( O
; p: r a# h5 l- V; v if (n_feats > 0) UF_free(feats);% I- _& T4 k$ O. f7 \" x" P7 I" E
}7 \" }! c2 U: {$ B# f. X& [
' _/ `% N) B E% i( G, D4 I6 c
|
|