|
double AskFaceAreasByPK(tag_t face_tag, double tol)
7 X% I7 ?2 ~4 {% ]1 c1 G! ~; `{
5 O) K* I4 l/ x9 g; a& G/ V% c2 A tag_t ps_tag = NULL_TAG;' T/ C$ Y' f2 w* N: R
double amount[3] = { 0.0, 0.0, 0.0 };% X0 E& J; C* b8 C
double mass[3] = { 0.0, 0.0, 0.0 };
$ Y: b, Z6 H5 h# H d) I" ~ double c_of_g[3] = { 0.0, 0.0, 0.0 };: q! u% \) K! g) M3 @# v0 f' _
double m_of_i[6] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };7 @; j6 X8 m# z! M
double periphery[3] = { 0.0, 0.0, 0.0 };
' L* p5 r |, {: u7 h5 Z: J: y" ?' @! } double areas = 0.0;
4 M. O3 e2 d' F Q" B( F PK_FACE_t pkFace = 0;
g2 N7 n6 c0 h( E! A* w PK_TOPOL_eval_mass_props_o_t props_o_t;
2 n8 e W; d- \ if (NULL_TAG == face_tag || UF_PS_ask_ps_tag_of_object(face_tag, &ps_tag))
9 m/ w2 X6 ^ ]- g' E5 _ return 0;/ |! N5 E7 i3 H! N7 d
pkFace = ps_tag;
' T/ w/ n, @; ]: \9 C+ m! E if (tol < 0.99)
$ f& c0 |1 M' m5 P tol = 0.99;; e: I" k3 C8 f
if (tol > 1.0)! U& c. S% w3 I2 o, b4 `
tol = 1.0;
- y3 J1 g1 w# z- n& Z3 K PK_TOPOL_eval_mass_props_o_m(props_o_t);' P* e/ B, r5 H, ?
props_o_t.mass = PK_mass_c_of_g_c;
% ?) s8 s9 Q+ y8 G% Q: ?: B+ w9 `' \ PK_TOPOL_eval_mass_props(1, &pkFace, tol, &props_o_t, amount, mass, c_of_g, m_of_i, periphery);# H0 j) o9 O+ l& [! S7 V
areas = amount[0] * 1000.0 * 1000.0;
2 D. a3 h' F2 o) J g, M. C# n return areas;
) z3 W, b* Z. B}
% Q. Y: z4 J7 w9 Z
: a' I% ~& q/ R. {; T! x" U |
|