本文整理汇总了C++中MeshImpl::set_skin_flags方法的典型用法代码示例。如果您正苦于以下问题:C++ MeshImpl::set_skin_flags方法的具体用法?C++ MeshImpl::set_skin_flags怎么用?C++ MeshImpl::set_skin_flags使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MeshImpl
的用法示例。
在下文中一共展示了MeshImpl::set_skin_flags方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: get_sphere_cylinder_example
std::string get_sphere_cylinder_example( DomainClassifier& geom, MeshImpl& mesh, MsqError& err )
{
const char filename[] = SRCDIR "sphereCylinder_1194_inv.vtk";
const Vector3D vec_k(0,0,8), vec_nk(0,0,-8);
const Vector3D vec_c(0,0,5);
//++ 0D domains ++
//++ 1D domains ++
//top circle
static CircleDomain cr_to(vec_k,vec_k,8.0), cr_ti(vec_k,vec_k,4.0);
//bottom circle
static CircleDomain cr_bo(vec_nk,vec_nk,8.0);
//++ 2D domains ++
static PlanarDomain sf_t(vec_k,vec_k), sf_b(vec_nk,vec_nk);
static CylinderDomain cy(8.0,vec_k,vec_k);
static SphericalDomain sp(vec_c,5.0);
MeshDomain* base_domains[] = {
&cr_to, &cr_ti, &cr_bo,
&sf_t, &sf_b, &cy, &sp
};
const int NDOM = sizeof(base_domains)/sizeof(base_domains[0]);
int dim_array[NDOM] = {
1, 1, 1,
2, 2, 2, 2
};
//++ MESH & DOMAIN ++
mesh.read_vtk(filename, err); MSQ_ERRZERO(err);
DomainClassifier::classify_skin_geometrically (geom, &mesh, 0.001, base_domains, dim_array, NDOM, err);
MSQ_ERRZERO(err);
mesh.set_skin_flags( false, false, true, err ); MSQ_ERRZERO(err);
return filename;
}
示例2:
//.........这里部分代码省略.........
static LineDomain l00(cpt_top_left,vec_k);
static LineDomain l01(cpt_top_right,vec_k);
static LineDomain l02(cpt_bottom_left,vec_k);
static LineDomain l03(cpt_bottom_right,vec_k);
static LineDomain l04(pt_top_front,vec_i);
static LineDomain l05(pt_top_back,vec_i);
static LineDomain l06(pt_bottom_front,vec_i);
static LineDomain l07(pt_bottom_back,vec_i);
static LineDomain l08(pt_top_left,vec_k);
static LineDomain l09(pt_top_right,vec_k);
static LineDomain l10(pt_bottom_left,vec_k);
static LineDomain l11(pt_bottom_right,vec_k);
static LineDomain l12(pt_left_front,vec_j);
static LineDomain l13(pt_left_back,vec_j);
static LineDomain l14(pt_right_front,vec_j);
static LineDomain l15(pt_right_back,vec_j);
static CylinderDomain C00(1.5,vec_k,vec_top,false);
static CylinderDomain C01(1.5,vec_k,vec_bottom,false);
static PlanarDomain P00(vec_ni,vec_left);
static PlanarDomain P01(vec_i,vec_right);
static PlanarDomain P02(vec_j,vec_top);
static PlanarDomain P03(vec_nj,vec_bottom);
static PlanarDomain P04(vec_k,vec_front);
static PlanarDomain P05(vec_nk,vec_back);
const int NDOM = 44;
MeshDomain* base_domains[NDOM] = {
&p00,
&p01,
&p02,
&p03,
&p04,
&p05,
&p06,
&p07,
&p08,
&p09,
&p10,
&p11,
&p12,
&p13,
&p14,
&p15,
&c00,
&c01,
&c02,
&c03,
&l00,
&l01,
&l02,
&l03,
&l04,
&l05,
&l06,
&l07,
&l08,
&l09,
&l10,
&l11,
&l12,
&l13,
&l14,
&l15,
&C00,
&C01,
&P00,
&P01,
&P02,
&P03,
&P04,
&P05
};
int dim_array[NDOM] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1,
1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2
};
//++ MESH & DOMAIN ++
mesh.read_vtk(filename, err); MSQ_ERRZERO(err);
DomainClassifier::classify_skin_geometrically (geom, &mesh, 0.1, base_domains, dim_array, NDOM, err);
MSQ_ERRZERO(err);
mesh.set_skin_flags( false, false, true, err ); MSQ_ERRZERO(err);
return filename;
}
示例3: get_cut_cube_example
std::string get_cut_cube_example( DomainClassifier& geom, MeshImpl& mesh, MsqError& err )
{
const char filename[] = SRCDIR "cutCube.vtk";
const Vector3D vec_i(5,0,0), vec_ni(-5,0,0);
const Vector3D vec_j(0,5,0), vec_nj(0,-5,0);
const Vector3D vec_k(0,0,5), vec_nk(0,0,-5);
const Vector3D vec_tfl(5,-5,5), vec_tfr(5,5,5);
const Vector3D vec_tbl(-5,-5,5), vec_tbr(-5,5,5);
const Vector3D vec_bfl(5,-5,-5), vec_bfr(5,5,-5);
const Vector3D vec_bbl(-5,-5,-5), vec_bbr(-5,5,-5);
const Vector3D vec_ts(5,0,2), vec_bs(5,0,-2);
//++ 0D domains ++
static PointDomain pt_tfl(vec_tfl), pt_tfr(vec_tfr);
static PointDomain pt_tbl(vec_tbl), pt_tbr(vec_tbr);
static PointDomain pt_bfl(vec_bfl), pt_bfr(vec_bfr);
static PointDomain pt_bbl(vec_bbl), pt_bbr(vec_bbr);
//++ 1D domains ++
//top square
static LineDomain ln_tf(vec_tfl,vec_j), lin_tb(vec_tbr,vec_nj);
static LineDomain ln_tl(vec_tfl,vec_ni), lin_tr(vec_tbr,vec_i);
//bottom square
static LineDomain ln_bf(vec_bfl,vec_j), lin_bb(vec_bbr,vec_nj);
static LineDomain ln_bl(vec_bfl,vec_ni), lin_br(vec_bbr,vec_i);
//sides
static LineDomain ln_lf(vec_bfl,vec_k), lin_rf(vec_bfr,vec_k);
static LineDomain ln_lb(vec_bbl,vec_k), lin_rb(vec_bbr,vec_k);
//top sphere
static CircleDomain cr_tf(vec_ts,vec_i,1.0), cr_tn(vec_ts,vec_k,1.0);
//bottom sphere
static CircleDomain cr_bf(vec_bs,vec_i,1.0), cr_bn(vec_bs,vec_k,1.0);
//++ 2D domains ++
//cube
static PlanarDomain sf_i(vec_i,vec_i), sf_ni(vec_ni,vec_ni);
static PlanarDomain sf_j(vec_j,vec_j), sf_nj(vec_nj,vec_nj);
static PlanarDomain sf_k(vec_k,vec_k), sf_nk(vec_nk,vec_nk);
//cut
static CylinderDomain cy(1.0,vec_k,vec_bs);
static SphericalDomain sp_t(vec_ts,1.0), sp_b(vec_bs,1.0);
MeshDomain* base_domains[] = {
&pt_tfl, &pt_tfr,
&pt_tbl, &pt_tbr,
&pt_bfl, &pt_bfr,
&pt_bbl, &pt_bbr,
&ln_tf, &lin_tb,
&ln_tl, &lin_tr,
&ln_bf, &lin_bb,
&ln_bl, &lin_br,
&ln_lf, &lin_rf,
&ln_lb, &lin_rb,
&cr_tf, &cr_tn,
&cr_bf, &cr_bn,
&sf_i, &sf_ni,
&sf_j, &sf_nj,
&sf_k, &sf_nk,
&cy,
&sp_t, &sp_b
};
const int NDOM = sizeof(base_domains)/sizeof(base_domains[0]);
int dim_array[NDOM] = {
0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,2
};
//++ MESH & DOMAIN ++
mesh.read_vtk(filename, err); MSQ_ERRZERO(err);
DomainClassifier::classify_skin_geometrically (geom, &mesh, 0.1, base_domains, dim_array, NDOM, err);
MSQ_ERRZERO(err);
mesh.set_skin_flags( false, false, true, err ); MSQ_ERRZERO(err);
return filename;
}