MCPcopy Create free account
hub / github.com/BIMCoderLiang/LNLib / TEST

Function TEST

tests/T_CommonSurfaces.cpp:11–32  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9using namespace LNLib;
10
11TEST(Test_CommonSurfaces, CreateBilinearSurface)
12{
13 //see The NURBS Book 2nd Edition Page335
14 XYZ P00 = XYZ(100, 0, 100);
15 XYZ P01 = XYZ(0, 0, 0);
16 XYZ P10 = XYZ(100, 100, 0);
17 XYZ P11 = XYZ(0, 100, 100);
18
19 LN_NurbsSurface surface;
20 NurbsSurface::CreateBilinearSurface(P11, P10, P01, P00, surface);
21 XYZ mid = NurbsSurface::GetPointOnSurface(surface, UV(0.5, 0.5));
22 EXPECT_TRUE(mid.IsAlmostEqualTo(XYZ(50, 50, 50)));
23
24 XYZ uv00 = NurbsSurface::GetPointOnSurface(surface, UV(0, 0));
25 XYZ uv01 = NurbsSurface::GetPointOnSurface(surface, UV(0, 1));
26 XYZ uv10 = NurbsSurface::GetPointOnSurface(surface, UV(1, 0));
27 XYZ uv11 = NurbsSurface::GetPointOnSurface(surface, UV(1, 1));
28 EXPECT_TRUE(uv00.IsAlmostEqualTo(P11));
29 EXPECT_TRUE(uv01.IsAlmostEqualTo(P10));
30 EXPECT_TRUE(uv10.IsAlmostEqualTo(P01));
31 EXPECT_TRUE(uv11.IsAlmostEqualTo(P00));
32}
33
34TEST(Test_CommonSurfaces, CreateCylindricalSurface)
35{

Callers

nothing calls this directly

Calls 6

GetPointOnSurfaceFunction · 0.85
GetPointOnCurveFunction · 0.85
XYZClass · 0.50
UVClass · 0.50
XYZWClass · 0.50
IsAlmostEqualToMethod · 0.45

Tested by

no test coverage detected