|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! s1 U+ a. {% j
. v* R2 [- z( u8 H9 H9 |4 b/ CNX二次开发源码分享: 高亮镜像Wave linked的面
. N# J. ?' \" ~
8 t' f0 d' ]; S% o8 F( }" l6 p6 ]static void highlight_mirrored_face(tag_t face)1 ^9 q- P/ E6 w
{
( b2 d& ]! E+ b! I0 g6 W int( C; b! U& S0 a& W ?" A; |
ii,; w' L! [7 |# |* C4 P; {
jj,6 j( E: @; N( K4 g6 @, J- @
n_feats,; }& \' j* h& |9 R1 u. Z
n_items;
/ `; Q& T: k1 S char
2 T a# d0 a4 @, |4 r% o+ b *feat_type;
: T# ]4 ?/ z2 {! ^4 c tag_t
/ A* l6 B, q9 r. n0 Y+ Y *feats,( M3 ~- L* V7 k0 Z( K' Y
mirror,7 a0 Q/ V0 v# j7 \
*results,
$ O) D# M3 N( ` *sources;. S* c5 c4 W4 ]9 U/ ^+ o
. }; r( K. F' D' j" w- m
n_feats = ask_face_feats(face, &feats);$ Y, ^9 E9 E. z
" k8 @# a6 u3 h
for (ii = 0; ii < n_feats; ii++)+ M1 s8 b1 r3 p$ v8 ? q
{; q( G, A% |+ o! R$ B5 k; I3 F
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));. `0 A3 O; q/ N7 C6 Y/ [' x
if ((!strcmp(feat_type, "MIRROR")) &&
: b3 N% \* a \+ P ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,) ^8 p, E8 B3 y
&mirror)))5 _4 h3 o8 z* [& A9 t; u3 n" C
{$ c B4 z0 a6 w+ ^
. i; f$ {* ?( e /* Begin work around to PR 4244233 */
( e7 k8 ]4 Q4 ^( H( G9 r: u/ r if (mirror == NULL_TAG)
- m( x: k" n" a! l- k2 f1 x {
/ Q% s& A0 B# u: Z1 r9 H' s UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,7 O9 M: C) ^) \ g" d
&n_items, &sources, &results));
# q6 I2 _% l( u0 x$ z for (jj = 0; jj < n_items; jj++)7 U0 n( j4 S Z9 \
{
' O3 Q1 W0 D7 g9 L/ U( b if (results[jj] == face)& g( E R5 W$ {' e
{
) h5 z9 m, g( \" m" f& \ mirror = sources[jj]; W C v+ Y% M9 {6 Y
break;
; J$ a( y r$ ] V2 } }
$ m$ |; |1 B( L% ]8 W& ~ }8 j" e8 @/ X; d7 X7 r) M* w8 z
if (n_items > 0)
# K- B' E* w# G. ]6 F; `4 | {5 B9 K8 _( H& f6 f1 U. q, G
UF_free(sources);5 \; G. h7 b- T/ t
UF_free(results);
4 Y, P4 E; I: \1 [9 L4 r }
( u! _/ k+ ^$ b1 V }4 ?" a: c. V# y0 f# c1 L
/* End work around to PR 4244233 */
0 \) R" F& u9 f2 H4 w: {& @; s9 G4 f: N! [
UF_DISP_set_highlight(face, TRUE);
4 o; ]8 Y) d7 I3 u0 _ UF_DISP_set_highlight(mirror, TRUE);7 B6 ?1 H( e# Z) n# L
uc1601("Mirrored face highlighted", TRUE);! f$ L) ^" ^. f% e) E; T8 s, P
UF_DISP_set_highlight(face, FALSE);
. B+ A9 f' d) s UF_DISP_set_highlight(mirror, FALSE);
2 u1 [7 H9 [5 h9 y r/ | }
( @2 c {) M6 \ p4 j. ] UF_free(feat_type);. [; o. @) a, M" T8 T( ]# h
}/ d! R! C* h& x! I
7 f$ X% l* c/ c9 c
if (n_feats > 0) UF_free(feats);1 V! E! @6 f3 J0 S0 u. L
}6 [% H. Q' T8 i$ K7 T/ }. g
0 C% v0 r. Z7 G8 [0 b& }, F' P- ^
|
|