本文整理汇总了C++中geolib::GEOObjects::getSurfaceVecObj方法的典型用法代码示例。如果您正苦于以下问题:C++ GEOObjects::getSurfaceVecObj方法的具体用法?C++ GEOObjects::getSurfaceVecObj怎么用?C++ GEOObjects::getSurfaceVecObj使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类geolib::GEOObjects
的用法示例。
在下文中一共展示了GEOObjects::getSurfaceVecObj方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: checkSurfaceProperties
void checkSurfaceProperties()
{
auto checkTriangleIDs = [](
GeoLib::Triangle const& tri, std::array<std::size_t,3> ids)
{
EXPECT_EQ(ids[0], tri[0]);
EXPECT_EQ(ids[1], tri[1]);
EXPECT_EQ(ids[2], tri[2]);
};
auto checkSurface = [&checkTriangleIDs](GeoLib::SurfaceVec const& sfcs,
std::size_t sfc_id, std::vector<std::array<std::size_t,3>> tri_ids,
std::string const& name)
{
auto const& sfc_vec = *(sfcs.getVector());
auto const& sfc = *(sfc_vec[sfc_id]);
EXPECT_EQ(tri_ids.size(), sfc.getNTriangles());
for (std::size_t k(0); k<tri_ids.size(); ++k)
checkTriangleIDs(*(sfc[k]), tri_ids[k]);
std::string sfc_name;
sfcs.getNameOfElementByID(sfc_id, sfc_name);
EXPECT_EQ(0u, name.compare(sfc_name));
};
auto const read_sfcs = geo_objects.getSurfaceVecObj(geo_name);
EXPECT_EQ(2u, read_sfcs->size());
checkSurface(*read_sfcs, 0,
{{{0,3,1}}, {{1,3,4}}, {{1,4,2}}, {{2,4,5}}}, "FirstSurface");
checkSurface(*read_sfcs, 1, {{{3,6,8}}, {{3,8,5}}}, "SecondSurface");
}