|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
$ [" Z8 ]0 a2 _5 X; y
4 Y0 t$ [' z/ R5 ~: F9 R0 p# JNX二次开发源码分享: 高亮镜像Wave linked的面
( g' M8 c5 {- C1 i2 v9 u
- E& ]: y* \. J+ m! istatic void highlight_mirrored_face(tag_t face)$ G4 k2 _) @7 s" G9 ^8 V
{' N& }, P' ^5 V3 p' |% b/ L- s6 U
int. s4 f0 N% R3 q9 U8 r! q! e1 n
ii,
' ~( l( d9 M' R# R4 Z8 w3 @ }# @ jj,
" P) C# G D- f8 v- P) _ m n_feats,# d6 e d8 f+ p, _( `( T/ z. X; N: Z
n_items;) N8 G- y( O; t0 _& J
char
& I% U) W, B9 j/ q *feat_type;0 L+ A Q8 w) b8 B4 g
tag_t6 y, I9 A: U$ g& F9 A) `
*feats,6 C6 v' L, a4 [% z- @
mirror,' Y% U8 F7 I$ r. H
*results,1 k3 s4 g" D8 k+ I
*sources;. z* o4 j* P0 S5 S
! G, ]% B9 z" d
n_feats = ask_face_feats(face, &feats);# S' Z3 N4 B, X
: v) D8 W6 B2 p
for (ii = 0; ii < n_feats; ii++)
- A: ?9 s9 Q3 E8 R. U {
; H$ `5 Y4 {. k* q* _ o0 O2 Q UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
2 ?: s8 b9 I( ]$ f1 d6 W; p if ((!strcmp(feat_type, "MIRROR")) &&
4 j6 A* q6 i8 j) |& ^0 c7 r ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
7 O4 W$ _' G$ L% y- L &mirror)))
9 U Y' n% {' x* I1 _3 n$ L {% ~ Q8 m8 ^6 ~
. F5 Z/ s& l0 u; ]4 ` /* Begin work around to PR 4244233 */
7 D, k8 G3 j) `- q8 T1 z5 V" Q1 F if (mirror == NULL_TAG)
* B7 g: F5 h. ] { P* L+ `2 n; q1 Y/ W* X1 Z* e& A
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
9 x! k1 C: F: J, y5 i5 u &n_items, &sources, &results));
: D" v; ^. C. g for (jj = 0; jj < n_items; jj++)( l' S* H, ]& _. y7 { u
{
8 R0 s6 k' V* k- a% Q; i+ E' ^ if (results[jj] == face)
: p" Z0 ^# z- t- E* }3 s {$ b& L+ Y, R* D2 V8 |7 C; B' a% e
mirror = sources[jj];# `$ v! r! Z4 l6 ^2 A7 F- {7 l
break;, ^/ j5 j W7 X5 u
}- g- O6 w \: \
}
* R# g1 B5 |0 [( g3 {6 Z! p: _ if (n_items > 0)' p$ t- r4 n$ t: a) M+ E
{
" g O3 a, G& ^$ {; `* D UF_free(sources);
8 F( x& s% w9 V# l8 B9 f UF_free(results);1 s. u6 I$ f& {+ }1 }) J* x7 U8 |! T3 D
}
3 z9 Q% C9 O `& m5 ]9 g }
0 W( ^! i6 d- w5 s% r /* End work around to PR 4244233 */5 \4 }2 D+ f# j" T" ], T
8 p# q: ~; c# y: v5 }* s UF_DISP_set_highlight(face, TRUE);
: W! C ^3 b" l1 w" V0 b! J UF_DISP_set_highlight(mirror, TRUE);" g X9 B) ^! _. F
uc1601("Mirrored face highlighted", TRUE);
4 e! B9 l$ a- y0 _$ ~) p- o4 o UF_DISP_set_highlight(face, FALSE);
8 m. }' ?8 K$ R UF_DISP_set_highlight(mirror, FALSE);
3 b( |: x" I$ v/ j- e- z }
: D4 o2 G4 U3 y" v UF_free(feat_type);3 t/ f$ G7 T& e: H7 o/ R- n
}8 _5 g) a$ x- K$ S" \' J
; C7 s5 h; C7 F
if (n_feats > 0) UF_free(feats);
7 J4 Q" w6 q) L* }" W9 ]0 I} E: l! Z; K; }6 T4 M8 h
8 B+ Y6 ^: N! \# x% R |
|