|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: z y' Q- N( ?4 v, J4 c
6 V1 r# U1 y+ {2 z: c. P
NX二次开发源码分享: 高亮镜像Wave linked的面
) F# }3 r$ E& E1 F5 _9 G2 {# z* _# U' N
static void highlight_mirrored_face(tag_t face)
0 i' p/ ?, }; ], Q{
. B+ t/ i1 |4 j4 V( t int
' K: @* [; Y# j. M2 [% G ii,
! J8 ^ D- n2 j6 W jj,
; g; ~" \8 I0 j9 b3 v" t2 O3 g8 ] n_feats,/ ?, Z7 b. w# A/ x
n_items;
6 k6 U; }) U% s u% i; y+ b9 ~ char
3 J6 ]9 o; m! r *feat_type;. n5 q) X% j# L
tag_t
: _0 q4 H J0 D& Q- j *feats,
1 a; |3 B8 ]" o/ |( v# |& F o9 } mirror,
* {* w) i* v: j8 U _; H2 W *results,
3 a1 Q |) ]3 F2 c9 V! S *sources;" j8 K4 t0 `% }% H. n: U
% m+ F p7 \5 |$ D) f
n_feats = ask_face_feats(face, &feats);
8 a6 }$ J- Q9 o( }" R3 \2 j/ h) I& Z- `7 Q# V7 m2 l6 {
for (ii = 0; ii < n_feats; ii++)2 B0 u) I* m z* `+ b
{
' @( p- |; b/ C9 r; H" H( a UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
3 ^! L5 M6 |0 K! s( J O if ((!strcmp(feat_type, "MIRROR")) &&
. Z( }9 p0 Z$ t( E+ J( O6 p0 M7 w1 f ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,/ ~ g& ]3 m5 ~0 A* H8 a3 z: v
&mirror)))
( Q& Z; @8 Z9 d+ N: d3 L. k: O {7 R5 v% W9 s2 o
$ K5 D5 b6 h- C7 w. L
/* Begin work around to PR 4244233 */
; j5 Y0 v1 P; t3 K" M3 I if (mirror == NULL_TAG)
+ g v1 X$ V6 v4 A' a1 G2 r {
7 b9 j- ?, M% {8 y9 r- c, F- N" A UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
7 Y/ K2 n* s! n" Q& f &n_items, &sources, &results));7 f$ y( D8 r0 {- v5 F s
for (jj = 0; jj < n_items; jj++): l7 I' r9 e6 ~% C
{* S R- ]7 F. P4 o
if (results[jj] == face)4 ^5 U. m2 |/ G3 V+ `# p6 r1 R
{$ y5 O7 D: q6 X
mirror = sources[jj];4 c+ L& ]8 X" x8 K- J+ \0 R
break; M: c: y4 n1 D9 p) q
}
* B. J% S/ w. @7 M+ [% o }
; Y# x1 t K9 r' P/ p6 J& U4 s if (n_items > 0)
p( x* z+ _0 \% ]" p) g {
, s. t/ E t" k- L6 ? UF_free(sources);( S8 [4 Z" O, @! s4 ~1 w
UF_free(results);
5 J$ u, {6 T: i; U }' Z% v# l8 Y1 @/ G5 f
}" | W ? [4 A0 t
/* End work around to PR 4244233 */
: j- n0 n# S/ ~! l( P
6 z" h3 X" H+ ?' ]' s+ q% v4 n UF_DISP_set_highlight(face, TRUE);$ S w2 d, l+ A# c0 q- X5 a
UF_DISP_set_highlight(mirror, TRUE);
2 O6 a: d* t& \; p: y0 @" J0 Q1 Y uc1601("Mirrored face highlighted", TRUE);. v4 x4 I [- y& u7 ]
UF_DISP_set_highlight(face, FALSE);' s: A* k2 S' w/ a; b' K4 o+ I; m
UF_DISP_set_highlight(mirror, FALSE); N' X! k4 j3 O7 x" T- \# t( { H
}. M& u$ [# j" m
UF_free(feat_type);
. c1 ]% I9 n u. D }
- ]- ]# Y; G; m0 m
c2 I$ T5 J$ f+ s I8 v3 [ if (n_feats > 0) UF_free(feats);
7 e/ R3 @8 u; I( e5 G1 w% O& K" F}
, T1 u0 Y9 m% ^6 G. N" a' r" b% ^# ?+ I" B3 ]# ^; U
|
|