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

Function TEST

tests/T_BsplineSurface.cpp:10–92  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8using namespace LNLib;
9
10TEST(Test_BsplineSurface, All)
11{
12 int degreeU = 2;
13 int degreeV = 2;
14 std::vector<double> kvU = { 0,0,0,2.0/5,3.0/5,1,1,1 };
15 std::vector<double> kvV = { 0,0,0,1.0/5,1.0/2,4.0/5,1,1,1 };
16
17 XYZ P00 = XYZ(0, 0, 0);
18 XYZ P01 = XYZ(0, 1, 0);
19 XYZ P02 = XYZ(0, 2, 0);
20 XYZ P03 = XYZ(0, 3, 0);
21 XYZ P04 = XYZ(0, 4, 0);
22 XYZ P05 = XYZ(0, 5, 0);
23 XYZ P10 = XYZ(1, 0, 0);
24 XYZ P11 = XYZ(1, 1, 0);
25 XYZ P12 = XYZ(1, 2, 0);
26 XYZ P13 = XYZ(1, 3, 0);
27 XYZ P14 = XYZ(1, 4, 0);
28 XYZ P15 = XYZ(1, 5, 0);
29 XYZ P20 = XYZ(2, 0, 0);
30 XYZ P21 = XYZ(2, 1, 0);
31 XYZ P22 = XYZ(2, 2, 0);
32 XYZ P23 = XYZ(2, 3, 0);
33 XYZ P24 = XYZ(2, 4, 0);
34 XYZ P25 = XYZ(2, 5, 0);
35 XYZ P30 = XYZ(3, 0, 0);
36 XYZ P31 = XYZ(3, 1, 0);
37 XYZ P32 = XYZ(3, 2, 0);
38 XYZ P33 = XYZ(3, 3, 0);
39 XYZ P34 = XYZ(3, 4, 0);
40 XYZ P35 = XYZ(3, 5, 0);
41 XYZ P40 = XYZ(4, 0, 0);
42 XYZ P41 = XYZ(4, 1, 0);
43 XYZ P42 = XYZ(4, 2, 0);
44 XYZ P43 = XYZ(4, 3, 0);
45 XYZ P44 = XYZ(4, 4, 0);
46 XYZ P45 = XYZ(4, 5, 0);
47
48 std::vector<std::vector<XYZ>> controlPoints = {
49
50 {P00, P01, P02, P03, P04, P05},
51 {P10, P11, P12, P13, P14, P15},
52 {P20, P21, P22, P23, P24, P25},
53 {P30, P31, P32, P33, P34, P35},
54 {P40, P41, P42, P43, P44, P45},
55
56 };
57
58 double u = 1.0 / 5;
59 double v = 3.0 / 5;
60
61 LN_BsplineSurface<XYZ> bsplineSurface;
62 bsplineSurface.DegreeU = degreeU;
63 bsplineSurface.DegreeV = degreeV;
64 bsplineSurface.KnotVectorU = kvU;
65 bsplineSurface.KnotVectorV = kvV;
66 bsplineSurface.ControlPoints = controlPoints;
67

Callers

nothing calls this directly

Calls 6

GetPointOnSurfaceFunction · 0.85
XYZClass · 0.50
UVClass · 0.50
ComputeDerivativesFunction · 0.50
IsAlmostEqualToMethod · 0.45

Tested by

no test coverage detected