|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# M* D$ T4 V7 l' O) i! q' d; A: c+ w4 X
NX二次开发源码分享: 高亮镜像Wave linked的面$ u1 ]2 D# G F4 V6 h" U4 o
- W% [' q# z3 j# mstatic void highlight_mirrored_face(tag_t face)1 j0 z' r! m, a' o3 P+ h! V. G9 ~
{
. p7 M/ t6 a2 \ F! W2 p int
, O% C. P% g! {( C# ?+ S2 y- U ii,+ r/ e1 t% e4 f* A( u! K. Y5 [
jj, f& O2 |/ a: `0 Y: G& }
n_feats,( D% r* F h$ L1 u$ L- V, Y
n_items;; g3 I1 J+ @# D; q/ Y4 W
char+ E9 p) O$ j0 _" [- Z1 T) I
*feat_type;
( [& y0 P0 n( T6 a1 C* X tag_t% j' o% F0 v; _8 s2 ^' T+ t
*feats,5 `( S& w# s& W5 q
mirror,! w. E$ V5 } {- s
*results,
/ g- P) S8 Z5 \6 r# n9 k$ I *sources; F3 f$ e1 k& ? U& w2 [% l
. Y3 T7 t' f- V I/ e% U
n_feats = ask_face_feats(face, &feats);: T+ R8 M/ w0 }# A3 P& n6 q4 t4 S
: ^: k, W! Y5 s9 s& O; Z for (ii = 0; ii < n_feats; ii++)1 }# X6 S7 I4 }
{
' e1 ], C8 y! e# c1 W! d UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
3 W, X& b( N; s: X if ((!strcmp(feat_type, "MIRROR")) &&
! N3 s4 u, X& a. w; [8 q ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,) ^0 c1 a7 C0 J0 K5 q1 M7 S9 [
&mirror)))$ t; D: M7 E$ C+ R9 c+ v% l
{
8 T$ o* p( `6 V* X. K/ L5 d
4 E% x v8 G: z l/ H1 T, Y /* Begin work around to PR 4244233 */
, o3 ?9 g3 @3 b+ \3 s if (mirror == NULL_TAG)# Q2 q* r+ G5 A4 F9 g
{+ a/ [) l2 ]) t# a
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
1 O& [ y5 d% h9 |( X# r/ E &n_items, &sources, &results));% f1 g, Y. d1 R, c
for (jj = 0; jj < n_items; jj++)
! v5 p3 B; M1 V8 `: t {
" b" l8 e* L, K. Z7 L/ a if (results[jj] == face)* p Q' F8 _% l& q' Y( S
{$ J) m1 ]& V7 g' L/ {
mirror = sources[jj];
5 N2 j4 e4 _: y7 a8 n6 H# C- n7 ~/ x break;: ^( H: Q4 }* S% ]; @% V
}
+ r+ g% |4 ], `7 Z }9 m, P1 {% x* Y# L
if (n_items > 0)
* _$ v1 E, c, w b+ L; ~ {# C' g/ D" P5 {: {5 x( {7 V' o
UF_free(sources);8 N2 E; z# B5 a; N, P1 }
UF_free(results);3 u, d, G$ v. W0 I' C* j
}' [. e! }& q* q4 L
}0 \3 Y* I; C! A& o1 h6 z
/* End work around to PR 4244233 */
1 G( \! \4 ~/ _' P# `7 n4 r- X9 g5 ]) U; {$ I% m7 F4 i+ K
UF_DISP_set_highlight(face, TRUE);9 q+ I$ J1 z" s2 ~/ P; t
UF_DISP_set_highlight(mirror, TRUE);
( s/ H; }3 G; E0 m: b uc1601("Mirrored face highlighted", TRUE);' S$ h% {) R4 X8 Y( v; v
UF_DISP_set_highlight(face, FALSE);
9 j- N! f* s0 g' Y( ~: n! ~ UF_DISP_set_highlight(mirror, FALSE);
4 w/ }5 R' d7 _ _6 D }1 z1 H* i1 Z( I0 X: L6 m& A0 P$ @
UF_free(feat_type);
, }" x9 \* ]7 X' @6 C0 ]% I }5 [; K& R7 C4 s6 d( H3 r& V
. e- i& s+ v- G' J) o if (n_feats > 0) UF_free(feats);
: @. [; \( [7 ^- F4 y+ U: N( ^}( a$ n9 g* ^* [2 B) K
1 Z- w9 C7 b7 m3 }' t* n |
|