.. role:: ts-api-decorator

########################
GeometryModelManipulator
########################

.. js:module:: cee.geo
   :noindex:

.. container:: ts-api-section

   .. js:class:: GeometryModelManipulator

      A GeometryModelManipulator works on a given geometry model to do different tasks.



.. container:: api-index-section

   .. rubric:: Constructors

   .. rst-class:: api-index-list-item api-kind-constructor api-parent-kind-class

   * :js:meth:`~cee.geo.GeometryModelManipulator.constructor`



.. container:: api-index-section

   .. rubric:: Methods

   .. rst-class:: api-index-list-item api-kind-method api-parent-kind-class

   * :js:meth:`~cee.geo.GeometryModelManipulator.createCrossSectionModel`





------------

Constructors
============

.. container:: ts-api-section

   .. js:function:: GeometryModelManipulator.constructor( geoModel)

      :param geoModel: None
      :type geoModel: GeometryModel


      Creates a new GeometryModelManipulator with the given input geometry model


      :rtype: GeometryModelManipulator



Methods
=======

.. rst-class:: ts-api-section

createCrossSectionModel
-----------------------

.. js:method:: GeometryModelManipulator.createCrossSectionModel( plane)

   :param plane: None
   :type plane: Plane


   Creates a cross section geometry model

   Creates a new geometry model where the given plane intersects with the given input geometry model.
   Intersected triangles will be represented as lines.
   Part attributes will be preserved, where possible. 
   The customData attribute in the new part is set to the index of the original part.
   Also includes invisible parts, if any.

   Returns a geometry model with the visible and invisible intersected parts.


   :rtype: GeometryModel

