|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ `3 d) ?; ?% ^- `
2 s# L' x |( d7 q3 w' |* MNX二次开发源码分享: 高亮镜像Wave linked的面" }8 E9 S' i7 ], [8 ~! @
5 p" Y+ a% p! m# f4 Y
static void highlight_mirrored_face(tag_t face) P! b& k' `3 d- g9 O2 I
{6 h$ W% C! l5 V7 h
int( ~. k$ l5 W+ X3 l) p/ x
ii,2 X2 h) g8 w6 v/ z& O
jj,
* o' u5 R6 ?" j n_feats,
: H) d) U6 w8 O/ W+ { n_items;9 y% D% V! [$ V$ i2 X: |
char
9 Z1 F' s* o( p) L2 f) |% k *feat_type;
, T& |3 y# U# K. s# K v tag_t' [, B8 K& B7 A" S& W( o
*feats,* K, I5 R5 C" ~# S) Q
mirror,
! b2 l* a0 i+ g! t; L% V& T! x" k *results,) h5 i# s+ @; }
*sources;
. M' ?( g7 F$ y7 U9 \4 l4 k# G; C4 k |# X' D
n_feats = ask_face_feats(face, &feats);
% s4 G: t7 Z* R6 b, }/ U( h. @/ H% Q
for (ii = 0; ii < n_feats; ii++)- E7 M1 z# F3 ^) z& p, Z
{" ^% ~6 [6 B+ Q
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));; n) U+ z$ s8 x( ?5 R8 |
if ((!strcmp(feat_type, "MIRROR")) &&$ f$ `" q, E# n& q' O3 v- Y
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
) p6 y5 v: z% M; d &mirror)))/ o5 o, g7 O0 n) B+ p
{* A0 {: l" J8 o; @5 C; o; W
9 x" W1 l- D- _ P, H3 Y
/* Begin work around to PR 4244233 */ @3 K: I. G- u* ]* S) K5 e8 |
if (mirror == NULL_TAG)
6 Q9 n7 b7 U* j {
4 U7 a( S% k; M/ c H y UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,4 i* _8 \- Z8 w
&n_items, &sources, &results));
% k% U1 k' d9 [! t/ B6 V for (jj = 0; jj < n_items; jj++)& [; Q1 {0 R9 I) T* o
{% i& h' Z! T: l! G0 J
if (results[jj] == face)- | A( e* O5 |6 P; Q- b* C8 V5 y
{1 |9 h- T6 {9 \: Z9 w! G9 i+ K% l
mirror = sources[jj];
Z0 o$ u8 R( ~ t9 X8 \2 S) | d& S break;
* z* A; v, [' Z4 q" p$ A }
6 h* `$ j- Y2 N/ o }
5 k& c1 _6 O6 m. U! J, D if (n_items > 0)
m, m, U/ ]* i# O6 c/ | {
3 ~ R4 H2 }% h# {5 S9 E# g UF_free(sources);$ s' Q5 u; S2 ~1 B
UF_free(results);
" h/ P( C( W6 C& H" u$ } }! E x# b, ~3 _; N
}. b" H- s' c% x. |
/* End work around to PR 4244233 */
) i" [1 T; n- K: z
0 X, U4 [4 n9 Z, Y9 [, w7 o UF_DISP_set_highlight(face, TRUE);
b$ V: v) }6 a+ Z UF_DISP_set_highlight(mirror, TRUE);0 N% B9 Q' j; A1 S0 ~1 `3 Z
uc1601("Mirrored face highlighted", TRUE);* F4 F6 c0 w* F$ ]
UF_DISP_set_highlight(face, FALSE);" K4 ^ s7 |+ ~8 P- o1 w
UF_DISP_set_highlight(mirror, FALSE);
& p" ^) \* V2 k* A; |, Q! d# n } H8 }4 R+ R7 m. h9 W
UF_free(feat_type);
p. k8 }. c- l }1 C+ Z" A! B0 Y/ J
8 _/ m5 I# x2 x1 ?# T+ H2 \- o
if (n_feats > 0) UF_free(feats);
+ X3 h% U0 ?6 A, ~}" C2 L4 \. Q _0 f# k1 i' _
8 K6 g% C0 i. j |
|