|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 s r$ r1 R; R/ l' }
# s6 S& C8 h- |) p; T6 m
NX二次开发源码分享: 高亮镜像Wave linked的面$ o2 M- G3 q5 d D2 Y6 ]0 b9 D7 l
: @8 \* j6 {& qstatic void highlight_mirrored_face(tag_t face)7 a4 a$ ^. h5 _
{$ E+ i$ g* c e- y' T
int( p2 B! _6 Q/ D* K8 _- w* o# J
ii,
; I( ^) [/ c( U4 f3 E/ r4 y; A jj,
' T7 f0 i) {4 u1 s5 z( s n_feats,
3 y1 K$ Y3 {( c( L0 l% J3 l# l n_items;
. F4 M+ y" N4 Q) P% k char; n" j! _2 n' `8 c9 x" I
*feat_type;
8 O2 b( o h" T6 U7 y tag_t
2 P9 n x3 Q. ^" K *feats,! ^$ M W: c1 H* E Y
mirror,: i! k0 \/ J# o6 Q6 n2 Z1 ^
*results,
7 p2 \. g d6 B9 f *sources;, N2 k9 S! f7 L
r, g# K+ h' F8 e6 C/ g: ~
n_feats = ask_face_feats(face, &feats);. }# r' y+ t* S
! }9 n4 B+ b5 M0 X, L; x for (ii = 0; ii < n_feats; ii++)7 k6 \2 {7 n3 W& b: Z q
{
" M, {" v0 y# p$ k. n, g: D! q) \9 `( i UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));/ V6 d2 d' i# a( i2 D2 J
if ((!strcmp(feat_type, "MIRROR")) &&
- o) I3 r& X' \) O ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,; q# G% ]& ^/ Z$ i9 _& @, N
&mirror)))
4 M0 G% s- _- B2 b1 j) | {
" ~* I7 i* W3 r3 `! w0 W) O
% v! P& q/ b* w/ U/ O /* Begin work around to PR 4244233 */
% g8 q# C5 M& z( w8 y# } if (mirror == NULL_TAG)
# B: U" R8 U/ ~; | {
p X+ |* G% l$ H UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
, L& `; N3 ^* G: d &n_items, &sources, &results)); Y9 A% Q1 W2 y* V5 o+ c5 Z' }
for (jj = 0; jj < n_items; jj++)
; \8 z* ^' r/ e! E$ _8 b {
4 N9 v+ ]. y3 f, F3 w1 w7 d1 H if (results[jj] == face); q5 M: ~) W' K/ W3 h
{8 {& r2 z, S+ X% y
mirror = sources[jj];
6 J# B2 b5 h7 G. N1 S# G4 j9 P break;
A) c1 ~8 \: c9 t5 J. l" o4 i }
6 Z- O# I ~8 a }
4 h/ o' ~ L# i" _$ b, l# z! a if (n_items > 0)' r$ t4 [ Y4 K5 F/ `
{' l% [7 q% G6 S5 d+ E1 i
UF_free(sources);) W9 M$ ]- ]5 g9 K
UF_free(results);
) V5 c* K( a9 U/ @: J }0 l9 a9 o' R U
}( W& N: {2 q* r* y F9 S6 o
/* End work around to PR 4244233 */
' u# \ k' X! b5 r# E5 a( }2 Y- I
UF_DISP_set_highlight(face, TRUE);3 O2 k+ E( [0 I* E4 s1 U2 Q8 S" T
UF_DISP_set_highlight(mirror, TRUE);
; m7 i; q6 D( j# `5 x0 | uc1601("Mirrored face highlighted", TRUE);. |1 V- c) V3 r
UF_DISP_set_highlight(face, FALSE);
X( k! ^5 ]( u' I$ H) N UF_DISP_set_highlight(mirror, FALSE);4 A; l6 Z8 |3 i+ u- Y5 i
}
. I+ `' a" C3 R7 |7 J UF_free(feat_type);- D! B {9 x. S( u2 `7 B
}6 p- r! m/ K6 s+ k. Q$ O: S8 a8 s! b
( K/ E4 w! ^) j' _1 |5 Y
if (n_feats > 0) UF_free(feats);
3 w: v, N5 ]: q; }) h}
& b: s; d. Q2 M. N2 c7 ~) |+ p5 N' z/ g- F/ ` K
|
|