|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 a# X; o7 u& O; l" J2 U. M8 b. W* V0 f y0 r- }; b9 Y
NX二次开发源码分享: 高亮镜像Wave linked的面- S/ P! u) n3 V7 h$ F* N8 i
( u3 n. J, U5 l* v' }
static void highlight_mirrored_face(tag_t face)6 N2 s1 T8 A9 u" `, ^
{ n, f; L- {3 R. e4 l7 u/ s
int8 t! g4 i" l/ x7 o9 \5 }
ii,* K4 m, P2 c1 g
jj," P+ n* Z9 ]: h t; z
n_feats,
; O3 n8 W, G9 ?3 d n_items;
# I; @1 i: J4 w2 I0 _6 |& O5 P char- m" ^ }1 C. {! Z j
*feat_type;
: c! |* H! ]- }$ \9 c tag_t+ @" i- D( ~! `4 w
*feats,+ r7 _% ^6 w3 I- P
mirror,
6 |9 l [) R, a& g- ~6 H *results, S% x% p, Z% s8 j. A/ @$ o
*sources;
5 u. T8 j' i, k$ m5 J9 e0 }7 @& I, }/ P3 k4 }; \
n_feats = ask_face_feats(face, &feats);
2 K# E, _. x* s8 b" q( L
4 f* h A$ E6 x& [6 t for (ii = 0; ii < n_feats; ii++)
/ A* q3 ? E& K% O7 l {
; `0 I# U# u9 e UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));$ ^3 j% a" x+ [; D G
if ((!strcmp(feat_type, "MIRROR")) &&
6 K' G. X. R% l+ E2 P; O4 I7 j ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
3 y: S8 ^0 `# x( C/ ?! I; h1 F &mirror)))
& K5 F: v3 z% D. J8 n {# H! n, C7 T v8 @5 s8 I
9 i* w2 U$ y. A( J) [0 j
/* Begin work around to PR 4244233 */
/ `; J0 g1 m& @5 n4 b' ? if (mirror == NULL_TAG)* r9 M8 {, x- V# d$ Q0 M1 F
{2 j5 w/ q0 |9 O; d6 ^7 J
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
e: h) U) K8 W4 R* R &n_items, &sources, &results));% M; d \( F. f9 @0 E
for (jj = 0; jj < n_items; jj++). `! o7 s7 Q% I( q5 u
{5 u) _0 q6 f* y8 ?& R! j$ u
if (results[jj] == face)
3 _# B8 F0 T' b" Z' B* S& m {6 {# V& Z( Y$ u; Z2 H# C5 k
mirror = sources[jj];( q" m% t; e, Z* Y& p/ D0 t
break;7 F1 S7 @! s4 v4 ]' X
}
6 y/ r- J# e6 L" y. v; \% n9 i }0 H3 B0 ~3 f7 I, k: n
if (n_items > 0)
' g9 n, u+ i- f* W @: w {" W% x1 L' l( W! ^! g+ m
UF_free(sources);
, R+ e7 w! k% z: |, I9 W UF_free(results);
/ k- _3 p, _4 h$ R9 j }
& F" A% i) P1 E d( Z- k, z }
( c8 Z+ [" j' k' N; b /* End work around to PR 4244233 */7 m/ v9 ^6 H& j7 u- _8 x
1 G8 t: S, C M! t; k: q! X5 A
UF_DISP_set_highlight(face, TRUE);# M6 \) p# u( _* C; N7 ]
UF_DISP_set_highlight(mirror, TRUE);
! D5 b# t& y$ C% F uc1601("Mirrored face highlighted", TRUE);
# |1 s7 a3 k, e: a* | UF_DISP_set_highlight(face, FALSE);& ]7 ~0 o1 W9 t. n
UF_DISP_set_highlight(mirror, FALSE);
* R* |9 C" N, C }' m1 b: G: s3 j b$ z# \ R
UF_free(feat_type); L- v3 N) S" V7 n7 p( f/ g% M+ @0 ]9 U
}- a! I( h7 D6 C& z5 s
* L2 g' J5 y! c5 c& ^# w% F' p1 s if (n_feats > 0) UF_free(feats);
9 b+ d: o: L( X5 u0 w1 `! {}# R. m' }5 _# V0 U
& J- f/ g/ Q( L% P) V; y1 B* i |
|