MCPcopy Create free account
hub / github.com/Kitware/VTK / TestIntersectWithLine

Function TestIntersectWithLine

Common/DataModel/Testing/Cxx/quadraticIntersection.cxx:139–473  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

137}
138
139int TestIntersectWithLine(int argc, char* argv[])
140{
141 std::ostringstream strm;
142 strm << "Test vtkCell::IntersectWithLine Start" << std::endl;
143
144 auto renderWindow = vtkSmartPointer<vtkRenderWindow>::New();
145 renderWindow->SetMultiSamples(0);
146 renderWindow->SetSize(800, 600);
147 auto renderer = vtkSmartPointer<vtkRenderer>::New();
148 renderWindow->AddRenderer(renderer);
149 renderWindow->Render();
150
151 auto renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
152
153 renderWindowInteractor->SetRenderWindow(renderWindow);
154
155 auto sequence = vtkSmartPointer<vtkMinimalStandardRandomSequence>::New();
156
157 sequence->SetSeed(1);
158
159 unsigned nTest = 1.e4;
160 double radius = 1.5;
161 double center[3] = { 0.5, 0.25, 0. };
162
163 // vtkQuadraticEdge
164 auto edge = vtkSmartPointer<vtkQuadraticEdge>::New();
165
166 for (int i = 0; i < edge->GetNumberOfPoints(); ++i)
167 {
168 edge->GetPointIds()->SetId(i, i);
169 }
170
171 edge->GetPoints()->SetPoint(0, 0, 0, 0);
172 edge->GetPoints()->SetPoint(1, 1, 0, 0);
173 edge->GetPoints()->SetPoint(2, 0.5, 0.25, 0);
174
175 IntersectWithCell(nTest, sequence, false, radius, center, edge, renderWindow);
176
177 // vtkQuadraticTriangle
178 auto tri = vtkSmartPointer<vtkQuadraticTriangle>::New();
179
180 for (int i = 0; i < tri->GetNumberOfPoints(); ++i)
181 {
182 tri->GetPointIds()->SetId(i, i);
183 }
184
185 tri->GetPoints()->SetPoint(0, 0, 0, 0);
186 tri->GetPoints()->SetPoint(1, 1, 0, 0);
187 tri->GetPoints()->SetPoint(2, 0.5, 0.8, 0);
188 tri->GetPoints()->SetPoint(3, 0.5, 0.0, 0);
189 tri->GetPoints()->SetPoint(4, 0.75, 0.4, 0);
190 tri->GetPoints()->SetPoint(5, 0.25, 0.4, 0);
191
192 center[0] = 0.5;
193 center[1] = 0.5;
194 center[2] = 0.;
195 // interestingly, triangles are invisible edge-on. Test in 3D
196 IntersectWithCell(nTest, sequence, true, radius, center, tri, renderWindow);

Callers 1

quadraticIntersectionFunction · 0.85

Calls 15

vtkRegressionTestImageFunction · 0.85
SetMultiSamplesMethod · 0.80
IntersectWithCellFunction · 0.70
RenderMethod · 0.65
NewFunction · 0.50
SetSizeMethod · 0.45
AddRendererMethod · 0.45
SetRenderWindowMethod · 0.45
SetSeedMethod · 0.45
GetNumberOfPointsMethod · 0.45
SetIdMethod · 0.45
GetPointIdsMethod · 0.45

Tested by

no test coverage detected