# Replacing \`smtk::model::Tessellation\`

**URL:** <https://discourse.kitware.com/t/replacing-smtk-tessellation/343>\
**Category:** Design\
**Created:** [November 10, 2019, 12:16am UTC](https://discourse.kitware.com/t/replacing-smtk-tessellation/343 "2019-11-10T00:16:10Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![dcthomp](https://discourse.kitware.com/user_avatar/discourse.kitware.com/dcthomp/32/10_2.png) [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Post date:** [January 8, 2020, 5:18am UTC](https://discourse.kitware.com/t/replacing-smtk-tessellation/343/8 "2020-01-08T05:18:04Z")

</div>

As discussed here and [in this earlier topic](https://discourse.kitware.com/t/geometry-library/224), the first parts of this have been [merged](https://gitlab.kitware.com/cmb/smtk/merge_requests/1903). The change that has been merged adds new classes (in `smtk/geometry` and `smtk/extension/vtk/source`) but does not remove `smtk/model/Tessellation` yet.

If a resource (1) inherits `smtk::geometry::Resource` and (2) provides an `smtk::geometry::Geometry` object (via methods defined in the new resource class), then that geometric data will be used instead of any model Tessellation objects. Otherwise, model tessellation objects will be used to produce VTK data. The new classes allow resources to provide renderable geometry without the overhead of conversion to/from SMTK’s neutral format. This will improve the responsiveness of SMTK and ModelBuilder in some cases. However, there is another change that must occur before large datasets are handled smoothly in most cases: because the `vtkResourceMultiBlockSource` (and its subclasses) are re-run when any component in the resource has modified geometry, VTK’s composite polydata mapper must be updated to avoid re-sending unmodified geometry to the GPU.

For more information, see

- [the new documentation](https://smtk.readthedocs.io/en/latest/userguide/geometry/concepts.html)
- [this test](https://gitlab.kitware.com/cmb/smtk/blob/master/smtk/geometry/testing/cxx/TestGeometry.cxx), which is a simple example of its use; and
- the [polygon session](https://gitlab.kitware.com/cmb/smtk/tree/master/smtk/session/polygon/vtk) which provides geometry for the VTK backend.

---

_[View the full topic](https://discourse.kitware.com/t/replacing-smtk-tessellation/343)._
