|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 ~% j5 Q- c8 N2 n& j' Q0 b
! D d; D+ x8 U, v! x c0 W$ sNX二次开发源码分享: 高亮镜像Wave linked的面3 {0 N( C; H4 P# y9 h
( U1 t$ R/ Q) k
static void highlight_mirrored_face(tag_t face)
0 u' C& q. j/ U' ^" K$ {! d{
3 A& b, I4 k6 i2 C% w' N# G int* ]* p) i5 [; B& n; Y1 D! ?+ k
ii,' ?5 j, ]* @( `) x x
jj,
* v' [6 \, q( d- Q+ N n_feats,0 p" d1 q. Q8 B* Y$ X6 K
n_items;
) ?( h* h/ w: g0 u char7 \1 a# ]* O( Q5 }. D4 Z
*feat_type;, J/ u6 D' ?5 u/ w) R, ~5 y+ B
tag_t
7 C8 A% B2 K, C *feats,
! a& B# c% W/ \) g& S mirror,
9 a7 J! p3 b! v3 L" M *results,3 \! m; l! ~# P. V! F2 g& G
*sources;+ Y; T& K% z. h
0 l* f8 P1 l* Y3 i# s
n_feats = ask_face_feats(face, &feats);
[9 E. N/ E7 @0 F" v W# B
( B1 P. Z; C- c3 @& C$ u1 ~4 H g for (ii = 0; ii < n_feats; ii++)
4 T8 n3 S1 N3 F) z5 W* U# y {# d! y( S8 v" Y, k
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
5 O2 n* r/ Z, @: g; r9 E" { if ((!strcmp(feat_type, "MIRROR")) &&# v$ K9 ]5 q5 J
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
9 H- x; U% ^1 X3 L &mirror)))
" R$ {# l2 h3 D: n {
7 X' k1 M, {+ q, h! v1 b- }
3 W% D. X4 r4 h/ n( Y5 z | /* Begin work around to PR 4244233 */; | X A& b' Q/ L) l B2 U6 J0 q
if (mirror == NULL_TAG)5 E9 R [1 h2 i* Q8 n
{
( U$ l3 }- ^4 l! e9 c UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,* r- w# k. o. P& m* Y, L
&n_items, &sources, &results));
j5 V2 b& {/ ?9 _1 b$ u( t0 L* O for (jj = 0; jj < n_items; jj++); v" d% E4 x9 F6 b6 i- I" H
{
$ l7 b# @$ m1 H a7 e' ^3 V1 q if (results[jj] == face)2 a$ O- Q- U) k+ G4 f) O Y, L- H
{
" t+ E" ^+ R# f/ e- t mirror = sources[jj];
% h. m$ ]$ P6 c! s, h break;! {5 d! [4 T" u {9 p' p$ u/ q% C
}; q' n% n! F" V- }& L) |7 j
}
* D6 d a! a$ B- [ if (n_items > 0)" ~$ P) J8 S U' j$ e6 L% _/ c7 a
{9 p9 [. G3 R L8 @4 n2 S% K
UF_free(sources);
- g- v) w& J- x' [; S" h& P UF_free(results);" x# G$ |8 T9 c# L7 H( i+ x1 ]! S
}
# A) ]* [0 v% ^8 w7 U/ _8 X }+ x$ n' Y0 ~3 q$ a6 w1 j9 a
/* End work around to PR 4244233 */
G+ q1 f" {# S0 E
% T7 T4 Z# G+ A$ s! v: G" W O; Z2 S UF_DISP_set_highlight(face, TRUE);# a. b t! e+ u
UF_DISP_set_highlight(mirror, TRUE);
' D5 \: O9 [8 _0 e2 R uc1601("Mirrored face highlighted", TRUE);
0 u6 Z4 {" p& ?6 }9 b6 | UF_DISP_set_highlight(face, FALSE);& i: T+ e$ ]* O. B' U& o. D4 J
UF_DISP_set_highlight(mirror, FALSE);0 H8 \! r. T( l5 Y: \& o
}( s5 Y, H$ \4 R7 O* b
UF_free(feat_type);/ i# d+ r* L0 j5 F3 q! N7 h/ R1 U
}! {+ e1 k0 w& A/ V3 _# Y
2 E. h" i/ [: i% [# P( u& K2 V
if (n_feats > 0) UF_free(feats);0 h8 G Z' T- m0 m3 F
}
3 a1 D1 I' w+ n) l
4 U, e* |! U9 d( E. j2 j! p |
|