|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ b' G+ |4 e$ f' [/ E/ c3 Q( k- v- ]- V( i, |
NX二次开发源码分享: 高亮镜像Wave linked的面
* r( |7 W. p9 {) ?* b1 T4 P5 `( P9 b3 R1 _
static void highlight_mirrored_face(tag_t face)
3 N: C* v$ V7 R3 e: C{# \; b7 ?1 C1 n* d. A/ V
int0 ^$ c& ]1 T5 K I
ii, ^# s7 |- a6 v; L+ ]
jj,
9 T N4 A9 h" D w n_feats,
* i) ]3 F E& M, @+ _ n_items;
( b! q4 A2 F+ K/ E8 I char0 ~5 {. g- c( L x/ [/ c' V
*feat_type;& y0 A- S# w! ~
tag_t [% N/ @9 k7 q. t) c
*feats,
% M$ B( u! H8 S mirror,
& X# c, L* H& \; M* L% B, w: d0 B *results,
& `; j4 u/ H. A *sources;
. f2 k+ }9 V+ l* x( V
( X, } f' B% @ n_feats = ask_face_feats(face, &feats);+ F6 T6 h# X0 X& v9 @' L" W6 i
' f$ }4 c% u6 B. i8 u( h) {
for (ii = 0; ii < n_feats; ii++)) M* b5 k; p* j9 E/ B+ b8 w2 s% t
{
5 K3 M% L" f: k: ? UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));4 c3 m+ v+ j+ B- T: p
if ((!strcmp(feat_type, "MIRROR")) &&
$ W% V7 o* _" R! F" O& [ ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,1 m3 J% n8 t- v* G
&mirror)))
! M7 E8 h8 x! p6 d {
, q) Q% p4 S9 ^ |; d1 D% v) \2 V5 L: G7 C2 L$ c; _$ ~
/* Begin work around to PR 4244233 */2 ^3 n8 [6 C! \; J% G5 }5 h
if (mirror == NULL_TAG)) J. ~* X' B7 G& O$ G
{
3 X% t$ _7 Q1 `0 B" X7 Y) ] UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
( b- u1 I2 D& b* b &n_items, &sources, &results));# m. A& }' y7 r9 h/ E7 u H: p4 c
for (jj = 0; jj < n_items; jj++)' d! Z& d: Y/ }: Q E; F
{
- ]/ u1 x% I" a* D; L if (results[jj] == face)+ E8 O* |* U2 O! w
{
5 B/ H/ U! K; o& Y0 v8 U mirror = sources[jj];8 g3 _5 B' P \+ E3 V1 l8 Y
break;
) o V+ P% T2 j4 h- T' s }
6 _% A R0 l8 e2 a }
4 N2 `4 b6 Y7 g% V) b if (n_items > 0)
0 @4 D4 L( f# d. A& J {
1 \( X; Y2 V ]& B+ W UF_free(sources);$ p: v8 y6 c. r) ]# I$ t
UF_free(results);
- q4 u& C& {. w& Y9 N+ r B7 i }- _& j! d& K& |4 J) J4 Q" P
}1 K" W2 e, N# C7 C& B* a9 ]4 w
/* End work around to PR 4244233 */
- W: j! R8 t* y# a9 x/ j: F$ E" k6 L+ m; }2 F# t" V% ^& F3 e0 @
UF_DISP_set_highlight(face, TRUE);2 ?9 {8 A; d- Q& q2 w! Z3 z0 h/ S- s
UF_DISP_set_highlight(mirror, TRUE);5 x! K2 s& r( A6 S
uc1601("Mirrored face highlighted", TRUE);
6 x5 ?7 a+ S r3 q& t UF_DISP_set_highlight(face, FALSE);
5 ~+ _; o3 M2 T* P2 H UF_DISP_set_highlight(mirror, FALSE);/ a. }8 i' f; V. T8 i' C
}# B3 i( J% \' o+ n3 R/ ^% X
UF_free(feat_type);5 [- E, t1 X. m4 ~5 \/ _ p: i& t
}
" J0 r8 b j& f* X7 M% K* U
( e4 x& G' B+ R: i4 |0 p if (n_feats > 0) UF_free(feats);
. Y ^: q; N9 g7 N4 e, n}" V q7 ?- F# y/ t' y* ^
8 u4 x2 w( B5 v7 Q' q9 x1 F
|
|