|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 D% v% R( ]. A8 @1 S, Z& }5 k
+ f( m" f8 d* w3 aNX二次开发源码分享: 高亮镜像Wave linked的面
7 N% X6 L7 H6 b* V6 B; ~
9 J9 g! ?, S' I# b$ astatic void highlight_mirrored_face(tag_t face)) r1 |" ?: E" T6 D1 w
{ y& D8 R* l4 }! p
int& K8 Y) q1 T$ @0 p, m
ii,9 @5 G2 j" S) p2 s: s% ~0 |/ @# |
jj,
+ Z% G; B6 V j n_feats,* \& m9 J& Z5 u" s- J( O G
n_items;
+ F, `* S. o7 `% z char
4 T; _4 r# @6 D" b9 }; @7 p+ v- ^ *feat_type;
6 {0 j+ h' I; Z; @ tag_t
! C P6 K! j) x# j% H6 p *feats,
6 w. I+ W6 u/ Z& }" G! _# { mirror," r9 o4 u" X: S; f) D4 i0 L( L
*results,6 D9 P: u! U! ~% J: A. Q) I x
*sources;
- o- k, H( [: a' c1 F1 z1 q+ I; B
! g% N6 O/ _8 \3 g n_feats = ask_face_feats(face, &feats); e0 U5 U/ i d( R C' \# L0 H
7 \: H) Y7 N$ }* k for (ii = 0; ii < n_feats; ii++)
3 Y) v& w1 b8 ]% p9 J3 A {! J* I% E0 v e
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));4 o8 C0 L% @$ o; {5 U o) o
if ((!strcmp(feat_type, "MIRROR")) &&
1 @; A9 M1 C5 ]0 [ ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
# F/ _; u3 l- s* F; @ &mirror))): X( t2 r: W: X" H
{. V; o# F/ ^; X4 T+ f' c! q
" g2 Q- T( ]. Y /* Begin work around to PR 4244233 */* r: z1 Q1 }, x' z9 y
if (mirror == NULL_TAG)
9 Y1 Y* ~3 R- L* W- ^# G {
: J N; a4 S2 W: A% Z2 P. G UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE, B$ k) w; Z# H& R' k( R1 l
&n_items, &sources, &results));* M/ A) g" F+ o
for (jj = 0; jj < n_items; jj++): z' e7 Z# N5 d. J+ Y( |9 x8 Y
{! V# W H) h# z) [
if (results[jj] == face)
0 M9 n4 T, c+ `1 H' `7 L+ H8 y {, X* ~9 c7 D$ h% k1 Z1 C
mirror = sources[jj];
3 c# d f& n' A$ y* c+ w break;. y: y9 n+ g! D4 j) v
}2 I+ v2 K4 _# Y/ o. k$ `% X
}: ?: E5 _' {9 X" @8 J' C8 p, G
if (n_items > 0)
+ y) s: @. g e: v @6 o {9 u; }* b+ ~8 {1 e) |3 d: d- L
UF_free(sources);! S' i% u- a( B( x" K5 S: g8 K$ t
UF_free(results);# q0 q, ]6 \* g( G% q3 y9 E
}. K* H3 b# s+ t5 D9 }' k2 H
}
E5 g+ h0 d. J, H# ~; j /* End work around to PR 4244233 */
. o6 Q. C$ i# Z6 A
: F/ Z9 u' A, v; X; F# e UF_DISP_set_highlight(face, TRUE);6 h0 s+ u9 t% E
UF_DISP_set_highlight(mirror, TRUE);
3 f/ d* n( G9 I# s" ?& b0 K uc1601("Mirrored face highlighted", TRUE);% l* e5 v# _1 Q
UF_DISP_set_highlight(face, FALSE);
4 L( v% L6 P: V2 D% R UF_DISP_set_highlight(mirror, FALSE);9 Z9 o' a, \ c$ H. j/ C
}
- \" f6 U( Z+ B& ?0 ~9 ]/ A UF_free(feat_type);
7 f( E- \) x- G8 T0 Y3 K+ D* \; d }" t u w0 {. }! J8 y
: B* ]$ k) O! J: \ e
if (n_feats > 0) UF_free(feats);: }& [3 d2 C# \2 K& G; B: Q
}
2 n4 n$ M# V: a! t0 ^' o, u6 i& i1 R, w+ }/ k
|
|