Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • VTK VTK
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 738
    • Issues 738
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 202
    • Merge requests 202
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • VTK
  • VTKVTK
  • Issues
  • #1241

Closed
Open
Created Oct 07, 2004 by Kitware Robot@kwrobotOwner

vtkDataSetSurfaceFilter does not pass coincident 2-D quadratic cells.

This issue was created automatically from an original Mantis Issue. Further discussion may take place here.


vtkDataSetSurfaceFilter::UnstructuredGridExecute() puts all 2-D quadratic cells in the hash table. If the cells are coincident (share the same points) the cell is hidden. Consequently, the contract to pass all 2-d cells is not honoured.

The following changes were made to version 1.36.

  1. Add the 2-D quadratic cells to the test for 2-d cell types :

    else if (cellType == VTK_PIXEL || cellType == VTK_QUAD || cellType == VTK_TRIANGLE || cellType == VTK_POLYGON || cellType == VTK_TRIANGLE_STRIP || cellType == VTK_QUADRATIC_TRIANGLE || cellType == VTK_QUADRATIC_QUAD )

  2. Do not add the triangulated cell to the hash table. Replace by a suitable warning :

     else if ( cell->GetCellDimension() == 2 )
       {

// cell->Triangulate(0,pts,coords); // for (i=0; i < pts->GetNumberOfIds(); i+=3) // { // this->InsertTriInHash(pts->GetId(i), pts->GetId(i+1), // pts->GetId(i+2), cellId); // } vtkWarningMacro(<< "2-D nonlinear cells must be processed with all other 2-D

	cells.");
      } 
  1. Process 2-D Quadratic cells with the other 2-D cells in the second pass :

    else if ( cellType == VTK_QUADRATIC_TRIANGLE || cellType == VTK_QUADRATIC_QUAD ) { input->GetCell( cellId, cell ); cell->Triangulate( 0, pts, coords ); for ( i=0; i < pts->GetNumberOfIds(); i+=3 ) { outPts[0] = this->GetOutputPointId( pts->GetId(i), input, newPts, outputPD ); outPts[1] = this->GetOutputPointId( pts->GetId(i+1), input, newPts, outputPD ); outPts[2] = this->GetOutputPointId( pts->GetId(i+2), input, newPts, outputPD ); newPolys->InsertNextCell( 3, outPts ); outputCD->CopyData( inputCD, cellId, this->NumberOfNewCells++ ); } }

HTH John.

Assignee
Assign to
Time tracking