void avtLabelRenderer::Render(vtkDataSet *ds) { if (ds->GetNumberOfPoints() == 0) { debug1 << "avtLabelRenderer::Render: The input dataset had no points!" << endl; return; } // // For efficiency: if input type is vtkPolyData, there's no // need to pass it through the geometry filter. // if (!inputMap[ds]) { // we haven't seen this input yet if (ds->GetDataObjectType() != VTK_POLY_DATA) { vtkGeometryFilter *gf = vtkGeometryFilter::New(); gf->SetInput(ds); input = vtkPolyData::New(); gf->SetOutput(input); gf->Update(); gf->Delete(); } else { input = vtkPolyData::New(); input->ShallowCopy((vtkPolyData *)ds); } inputMap[ds] = input; } else { // This one is a re-run, so it's safe to re-use whatever // polydata we decided to use for it last time. input = inputMap[ds]; } // // Create an appropriate MAX_LABEL_SIZE for the data. // vtkDataArray *pointData = input->GetPointData()->GetArray(varname); vtkDataArray *cellData = input->GetCellData()->GetArray(varname); int biggest = 0; if (pointData) biggest = (biggest > pointData->GetNumberOfComponents() ? biggest : pointData->GetNumberOfComponents()); if (cellData) biggest = (biggest > cellData->GetNumberOfComponents() ? biggest : cellData->GetNumberOfComponents()); // Check for Mesh plot if (biggest == 0) biggest = 3; MAX_LABEL_SIZE = 13*biggest; // // Render the labels using the derived type's RenderLabels method. // RenderLabels(); }
void GuiRenderer::Render() { RenderPanels(); RenderLabels(); //RenderMenu(Vector2f(100.0f, 100.0f)); }