|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 {; J0 {+ F9 X& `
* h% I6 d0 F, [NX二次开发源码分享: 高亮镜像Wave linked的面
; J' U; B1 s. ~. H) _# n; r% O8 F9 M, w4 D. ?. u! p& W! E% H
static void highlight_mirrored_face(tag_t face)
# H& U) w, ~# B' H5 U{# Y& }& u' d+ ?6 h
int
% D1 o, T" s5 S# K+ n ii,) p) j) n) J5 ^5 z" y
jj,
2 K) P1 K0 N+ a* z3 x) D2 R n_feats,1 W& k6 h$ B2 {' P4 K( X& N
n_items;
& b3 z" K% b) I3 G char3 q( ]! o, P0 C3 L9 {
*feat_type;7 Y5 L# g1 i6 h
tag_t
/ `! C( ?( W9 b3 K1 ~' j9 X) ?+ v *feats,* S1 @9 W; c! {, J1 k# @
mirror,
; J { y" d3 n9 G, ?& `# G *results,
9 ]5 G1 k% I% g *sources;
! z8 M2 y9 |6 ^+ z+ R' \
1 z0 u3 X- V* w2 V M5 U n_feats = ask_face_feats(face, &feats);1 |1 ` J; w& H% h8 J5 }
' B0 p" b9 @4 F! M for (ii = 0; ii < n_feats; ii++)/ g# @' D) v$ u- x, _
{
/ D0 @6 [% b& A* [- B7 u8 S' X1 m UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));& G% u( x2 p* X7 K5 e1 j' b- v
if ((!strcmp(feat_type, "MIRROR")) &&
% J; A* E: a* p" m4 Y: l ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,0 G9 h1 d% w& e$ Q# J
&mirror)))
2 C3 E& Y7 P1 }1 ? {5 z# z0 a! q$ J: W z
' i4 R. e3 A/ a7 u9 c /* Begin work around to PR 4244233 */
. P5 E+ Y4 ~* p7 _ if (mirror == NULL_TAG)
/ {9 [( }; C6 n {
( {" }8 W6 k5 y# C, o UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
0 ^! S, c* b) z8 k7 b( N &n_items, &sources, &results));! b' H. c* { T
for (jj = 0; jj < n_items; jj++)2 t& o$ d6 A& j6 B- e; m# U
{
0 G" M# z& g' D2 _ F* P6 O if (results[jj] == face), y2 Z5 o- H, Q* H7 M# x0 o
{
5 Y) \( _# `5 p( k mirror = sources[jj];
$ l( ^; x; c' L+ \! ] break;
) B0 f; H6 V9 W) B }
4 |3 ?2 D2 c' |: ]. q; h( I0 B }
3 [! m5 U7 |3 o7 T8 @7 u if (n_items > 0)
8 L1 Z8 n0 X; x {9 R6 _! @8 n! U' R1 ^ q' L
UF_free(sources);
' s* }- ^+ Y' _8 k6 h5 ~! K8 S; G$ G& D UF_free(results);. \# F7 `8 H& |5 ]" b( J6 x
}& s5 O2 U% w4 g+ I7 |: { S+ Y
}
! D! z7 |$ a5 X! U /* End work around to PR 4244233 */. |8 Q& W+ x4 h9 @ J1 X* \8 }9 O' b
2 `$ e' r' U: j k, g4 W* t& d3 P
UF_DISP_set_highlight(face, TRUE);
* B* l- f$ Y, \1 \6 [4 R' J% f6 w UF_DISP_set_highlight(mirror, TRUE);& e) Q$ e& j& I; N6 [4 F
uc1601("Mirrored face highlighted", TRUE);
) k& D% N5 Q. P2 {9 D" j$ a$ F UF_DISP_set_highlight(face, FALSE);: Q. U2 ~- t, V X4 N+ E
UF_DISP_set_highlight(mirror, FALSE);+ T% v4 n0 y+ {1 \
}! _0 a& _8 I5 P/ r' l4 E
UF_free(feat_type);7 a3 j/ ~7 h: l
}/ O% _% ^4 Y# m) M
- B0 ?* W$ ]4 A( k
if (n_feats > 0) UF_free(feats);' c8 C$ ?$ V0 D8 n5 u3 K$ U l
}
8 J- B, P% U& k: I
% X% J' A" m! _' Z) N o |
|