| 8 | using namespace LNLib; |
| 9 | |
| 10 | TEST(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 |
nothing calls this directly
no test coverage detected