|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! g6 c; d: H3 u1 g$ x
7 M; `. h, V$ q, tNX二次开发源码分享: 高亮镜像Wave linked的面* \- F" |2 {9 \7 \6 H
2 S) b* a3 f( o- C$ Tstatic void highlight_mirrored_face(tag_t face)
( P( R& M6 }+ d{/ Y9 W3 T- g8 { ]$ `3 ^. r. |
int
W# H" ` Z. v7 K8 w ii,
* w) r+ X* P3 n& {' S* R( O; v jj,
1 D6 O2 S1 z' y9 T n_feats,/ S! m1 ]2 j+ E' q+ L
n_items;& r/ C! E7 X, H* W- n
char
/ H& @( T7 \4 R4 L' P( R" ~0 E* r *feat_type;
( L- W2 @1 o9 L* H/ z/ ^, ^ tag_t
1 ^- n1 {& Z" k; G *feats,* [3 {+ d6 v0 T* p3 W
mirror,& c6 x7 w P, z" V
*results,; ~2 s, j; M" G- e2 d& v
*sources;
. `& {+ K; \5 k' q# `& L- k1 t/ I7 U7 T+ f
n_feats = ask_face_feats(face, &feats);
7 y8 F' |3 n8 ^* Y9 }2 T5 K$ S" B
* n9 T- I' D7 ?& b9 p% Q for (ii = 0; ii < n_feats; ii++)
, E) y1 B; I- h" l4 R: a {2 Y; o/ c/ s( j, j
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));) Z' s5 q: a0 W J2 D( O6 T& f
if ((!strcmp(feat_type, "MIRROR")) &&1 }! N3 ?8 H; s% D" ?$ s' ^
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,$ f; H! i9 p( V0 J
&mirror)))
& Y" Y7 p! l- S. A2 C. d% A# N' _ {
* g! O# v% g4 `* m4 }# b/ C9 L, S# |1 n8 F' ?7 [4 m
/* Begin work around to PR 4244233 */
: l; v2 y2 a( A4 |- F if (mirror == NULL_TAG)! K6 E( l) b8 h6 G
{
+ y& }0 A* z' ?- W, w% G9 y3 E& ` UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
, `& A+ {, F& P &n_items, &sources, &results));& K2 s# Q6 C( _+ M! j9 p. p
for (jj = 0; jj < n_items; jj++)6 Z$ L2 P5 Z( q* Q
{4 C0 f1 ^0 d; S% G4 f3 e% v$ p
if (results[jj] == face)
H: s) k1 K! w, W6 s5 J {
6 m4 U/ u7 m* ?! P( d3 @, |; h0 Y mirror = sources[jj];+ g; k8 N0 ?. `$ G
break;) \: V, _0 {4 C ]
}. |. o9 Q+ C/ B) r2 k
}
/ v) _( z& ?- c5 `: ~. q if (n_items > 0), F4 D) I; u9 ]- a ^, e! a
{" {1 t& m# v+ ]' }- w7 `5 Q# q
UF_free(sources); Z# E m! m( `' D$ u# K
UF_free(results);3 B7 U/ e; n+ q0 O e" S2 o9 D
}7 [' I3 @8 U3 ~2 G5 I, m
}+ s- D- Y. C$ e
/* End work around to PR 4244233 */
+ S# H% Y( E2 l5 m) i3 R
' ]5 S, R( u2 R( C) J UF_DISP_set_highlight(face, TRUE);. n9 l# @+ k; M( q( L4 Y
UF_DISP_set_highlight(mirror, TRUE);" @/ J% R" P& c$ b2 g
uc1601("Mirrored face highlighted", TRUE);( h4 o% l$ S0 |( u0 `. f5 K$ p5 c
UF_DISP_set_highlight(face, FALSE);
7 G9 {8 I8 @: g4 m: l; v% v: y+ Z+ | UF_DISP_set_highlight(mirror, FALSE);
& `: T9 j. p! m& S }
+ a8 B' D$ u% p* t7 v/ f; g UF_free(feat_type);
( ?; G1 E$ a W( W2 x$ O, O1 W$ A }6 y& b1 M+ M" \! f
/ i! j6 ]' k0 J, d' l S2 C
if (n_feats > 0) UF_free(feats);" i) w. q& h+ l) ]
}
: F( w: B! |, h" l _! A$ E
* o; k( H6 `% p, E! Q& ^3 K |
|