|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 B" u$ K3 b+ p' e. @5 Z
1 R$ ?; h' C. x& X ?; vNX二次开发源码分享: 高亮镜像Wave linked的面, q. R6 y! L/ H1 b' P
* U! W0 u9 i9 [
static void highlight_mirrored_face(tag_t face)
5 ^0 Z' g6 h1 w6 p{) m$ h6 f4 J+ {
int4 M8 s1 ]( m, y& a S
ii, U- T+ R0 s2 v4 F
jj,. D( c V7 D1 k. S9 M" P1 @0 M
n_feats,
7 @2 o) W" u! I1 _$ a2 b; l n_items;
% S2 ]. e% d: ~3 r% z char0 r- \/ H% ^) {1 K2 E! W/ v' u, F. g
*feat_type;
M- d5 \. z* h; P tag_t& b' p: ?" u! a' |1 i+ b
*feats,* u5 b. U8 s4 L
mirror,
: ]; [/ O3 J# j; W6 Y *results,. {; l, D8 B& m. k* H
*sources;* V, b" S: N0 j1 i% ?
9 n- p! n# d! n6 h7 S
n_feats = ask_face_feats(face, &feats);4 P% Q" `) C. O3 ^# c8 Q
) F/ q# q, w2 [+ u0 ] for (ii = 0; ii < n_feats; ii++)5 G+ h. C% P: z# J7 X' W
{
/ k. H. A( _# \5 K2 d1 m2 x UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
5 U: _& V# Z" v( x if ((!strcmp(feat_type, "MIRROR")) &&
2 f* J) Q! Q- F& y; Y7 O2 s, ` ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
: m D# h0 [8 Y. ^$ R: O &mirror)))2 e( o$ u1 m: B- K* k
{% x6 U. t3 I; g
$ m) k1 F. P8 ^3 w3 G. |7 n0 \' e
/* Begin work around to PR 4244233 */3 {: ^2 o: j' S$ m
if (mirror == NULL_TAG)
+ \8 z) H4 l5 S9 y, J! }" u# Y" J9 @1 o {
/ e7 [: d6 O4 P, K UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,+ Y4 h/ @# ~' W6 e6 w4 h; g
&n_items, &sources, &results));& |7 W. H4 N: k2 p8 ^ }0 l- `
for (jj = 0; jj < n_items; jj++)
) o/ {' `$ s: z; P1 M {4 r# M; I7 a6 m3 z7 Z: O* f
if (results[jj] == face)- H1 r6 Y. Y) B( n
{
$ `) N; x1 }3 P" Z mirror = sources[jj];6 |( Z& s# O1 z) X4 ^6 u
break;: W+ M2 w# s( r, k
}
" W( E; I% \5 ^* b } f% V0 ?& {8 I7 f+ p0 c
if (n_items > 0)' C: k6 j& F" `2 b6 }9 W
{
! Q. r8 W/ o; r4 Y UF_free(sources);
! @' {) A: w, q$ \; ? UF_free(results);3 ]; t: i, [% j1 |0 n
}: C6 F# B2 b, z" \; c0 [) z$ z, O
}* R6 ^8 [/ m% e1 t {* y8 \* E0 [: T
/* End work around to PR 4244233 */
9 x& H$ m0 X$ p" I$ L+ [
6 d8 j+ [ O: x8 r- P* v UF_DISP_set_highlight(face, TRUE);
, e; Z7 b5 N: n6 D. Y UF_DISP_set_highlight(mirror, TRUE);6 q2 [% X& X0 o. i
uc1601("Mirrored face highlighted", TRUE);
3 i0 u; L, e0 H UF_DISP_set_highlight(face, FALSE);8 E" d4 ?3 }3 p4 v l/ u/ C
UF_DISP_set_highlight(mirror, FALSE);
! w7 @4 o5 g1 Q } y6 y9 w! c U% s, L8 \
UF_free(feat_type);. U" B9 `, Z0 S3 E1 U6 w+ R
}- |9 R5 U' ~- U, q3 M Y
. @2 b! I( f9 ^8 X. F/ B3 K, e2 O! k, D
if (n_feats > 0) UF_free(feats);
6 v+ j7 U( {9 P" n4 v% [}$ c* d7 j; n- f& v n" Z! L
* m0 M$ C" p, O; Y. V- T |
|