|
double AskFaceAreasByPK(tag_t face_tag, double tol)) }& g! {. x$ n# N0 B
{
/ }3 p/ K9 |3 }$ i: e! m \ tag_t ps_tag = NULL_TAG;
5 r- `2 B( M! m& N! z. B% N double amount[3] = { 0.0, 0.0, 0.0 };2 ]1 {/ G9 {5 S# o2 P: U
double mass[3] = { 0.0, 0.0, 0.0 };
6 w# Y1 G5 o) D# T s double c_of_g[3] = { 0.0, 0.0, 0.0 };2 R7 i, D% o' }7 w
double m_of_i[6] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };. m8 J/ m+ c' ~ t( T' K
double periphery[3] = { 0.0, 0.0, 0.0 };; T7 o1 d0 W; D9 `) @- |- C; V( N4 X
double areas = 0.0;3 [& {5 C* w1 J/ a$ ~$ K
PK_FACE_t pkFace = 0;
3 C! [5 L. E( ]/ j2 i! A PK_TOPOL_eval_mass_props_o_t props_o_t; " u! r. A) j4 u; w4 Z! j: r
if (NULL_TAG == face_tag || UF_PS_ask_ps_tag_of_object(face_tag, &ps_tag))
' y" ?5 |8 l* l4 z6 Y: M7 y$ D% A return 0;
2 ^! U0 {1 a& }5 ~9 T$ b3 ~* f pkFace = ps_tag;
- i2 a0 {) G% g: H, ^ if (tol < 0.99)
: Z( m. }) T$ b0 S tol = 0.99;/ w& }4 _ C* Z
if (tol > 1.0)
4 j8 V. e0 }$ c5 e+ J! S tol = 1.0;& ^* n+ `, n* ~; m) f a- H' J
PK_TOPOL_eval_mass_props_o_m(props_o_t);+ J( C7 |3 X: Z0 q' _( q
props_o_t.mass = PK_mass_c_of_g_c;# Y: Z- u% T. a$ u6 W$ i
PK_TOPOL_eval_mass_props(1, &pkFace, tol, &props_o_t, amount, mass, c_of_g, m_of_i, periphery);
H: |+ K8 V, Z: C$ \ areas = amount[0] * 1000.0 * 1000.0;' J! X5 r! i4 k; d( Q6 J
return areas;
8 g/ j% Y7 ~; B. i}. R4 {3 Q* }* L8 p' `% S
g6 Y* [* c) d" d0 l
|
|