|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% H T" K9 f; \+ |. p# l0 m
! X+ E# \+ S3 {" Y* Q. w
NX二次开发源码分享: 高亮镜像Wave linked的面
! K' L1 f* J/ O$ M( U% D& }9 f1 V N
static void highlight_mirrored_face(tag_t face)
1 \5 \% c4 P6 E, ~% d8 y P{( W# c. g% S( u( \4 A- u9 W
int' }7 ?: D( H- x6 R% S+ r
ii,
/ m& _( ]1 i) b8 \0 L8 z: e jj,
6 c6 T5 D) j' J3 H& M6 g' @ n_feats,9 |' ~, K/ W( N1 x1 m$ Z, ~
n_items;
0 M7 g8 ^$ J0 R) G5 @% \ char G$ P& {% P* t" b8 e
*feat_type;
: u* q$ z E6 X$ H& V6 d8 D* [ tag_t
: |4 A6 x1 N2 [0 \# q *feats,
& V( y) T! O* z4 O$ F( X4 { mirror,
( g/ S7 O" w& b *results," Z# i t3 \2 p3 D0 B$ K" x( u
*sources;$ K& M W; g( P6 c+ r# [
2 Z& q5 d0 p1 n6 F
n_feats = ask_face_feats(face, &feats);
# L: l. ~( r# L+ y# H
8 n, r# |& Z# p) S7 T; w# _1 L for (ii = 0; ii < n_feats; ii++)
6 i, ]4 T$ ^: V1 @ {6 d4 n4 D0 R% A: b, z
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
" \) E; ?) b2 O+ ^ if ((!strcmp(feat_type, "MIRROR")) &&
- T; z1 h# f0 P ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
9 O8 ` G/ I) [ u# }! i &mirror)))7 _/ M3 I4 ^+ V6 q6 V5 `4 a
{
3 I& t% {0 a2 y4 Y/ d% g* {* Y! e" y( k4 _0 v
/* Begin work around to PR 4244233 */
- x1 }+ i7 c) f4 ^+ E: W if (mirror == NULL_TAG): c7 p- i# r: y, [% y. H c
{
4 e* h) E. v- T UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
; l- _' z& R( A% u- _ &n_items, &sources, &results));1 O& a" e% B- E6 g" a% {9 n
for (jj = 0; jj < n_items; jj++)8 V6 {! V4 s9 C# Y/ s! v3 y
{
4 k6 y4 H! i, d4 N0 ~ if (results[jj] == face)1 f( `3 f$ T( i3 S( f0 o$ U
{& F: c' R6 T# g2 k
mirror = sources[jj];
: f5 x' g! F1 m% c5 ?& M$ y break;5 l+ `) g6 f9 s! A' C( w# n9 w
}
7 p$ Q0 _# N" c2 R/ H( _( n }
! b1 m, ^- k- T$ S' y! V5 G if (n_items > 0)6 B) i; M/ b' h2 |5 k" l
{
- p, t, k+ E" o UF_free(sources);
, ^5 @" i$ [" {+ L7 c: h UF_free(results);
0 j {, I$ V% j p9 Q8 X" G }
9 a* w& [" v3 M% W; p0 Z0 p }( e" P" z! x' h% L8 S( D( j' `
/* End work around to PR 4244233 */0 h: C8 o6 E9 k) g
/ \$ G+ ?% p7 O# I
UF_DISP_set_highlight(face, TRUE);
5 Y: W7 ~& [6 @. T' N2 q& G( t UF_DISP_set_highlight(mirror, TRUE);
; r3 o3 q0 d3 r5 N3 u7 t: }/ R uc1601("Mirrored face highlighted", TRUE);
6 {% d8 A% i7 M2 C7 n8 y UF_DISP_set_highlight(face, FALSE);
1 u* f: @5 w' D: _/ D0 F8 @ g8 P UF_DISP_set_highlight(mirror, FALSE);
: l U6 g ^8 f, @6 |, G }# a0 B1 @: d+ \8 {( }6 f# R( U
UF_free(feat_type);0 w' q1 b! o) u/ |9 O
}, z+ t* k8 u% C: E9 Q
% R& _% A$ |" b. w; v: ^
if (n_feats > 0) UF_free(feats);
( X4 l$ X# k8 a# Y. R( r}1 ^* ^+ k- ?: |, {' k0 Q& k* _4 H
$ d9 t3 o- F8 N% }* g3 ^8 _
|
|