void removeShape ( ) { if ( m_shape == null ) return ; if ( m_geometryIDIndex != - 1 ) { m_shape . removeGeometryUserIndex ( m_geometryIDIndex ) ; m_geometryIDIndex = - 1 ; } if ( m_clusterIndex != - 1 ) { m_shape . removeUserIndex ( m_clusterIndex ) ; m_clusterIndex = - 1 ; } if ( m_halfEdgeIndex != - 1 ) { m_shape . removeUserIndex ( m_halfEdgeIndex ) ; m_halfEdgeIndex = - 1 ; } if ( m_tmpHalfEdgeParentageIndex != - 1 ) { deleteUserIndexForHalfEdges ( m_tmpHalfEdgeParentageIndex ) ; m_tmpHalfEdgeParentageIndex = - 1 ; } if ( m_tmpHalfEdgeWindingNumberIndex != - 1 ) { deleteUserIndexForHalfEdges ( m_tmpHalfEdgeWindingNumberIndex ) ; m_tmpHalfEdgeWindingNumberIndex = - 1 ; } if ( m_tmpHalfEdgeOddEvenNumberIndex != - 1 ) { deleteUserIndexForHalfEdges ( m_tmpHalfEdgeOddEvenNumberIndex ) ; m_tmpHalfEdgeOddEvenNumberIndex = - 1 ; } m_shape = null ; m_clusterData . deleteAll ( true ) ; m_clusterVertices . deleteAll ( true ) ; m_firstCluster = - 1 ; m_lastCluster = - 1 ; if ( m_halfEdgeData != null ) m_halfEdgeData . deleteAll ( true ) ; if ( m_edgeIndices != null ) m_edgeIndices . clear ( ) ; if ( m_clusterIndices != null ) m_clusterIndices . clear ( ) ; if ( m_chainIndices != null ) m_chainIndices . clear ( ) ; if ( m_chainData != null ) m_chainData . deleteAll ( true ) ; m_universeChain = - 1 ; m_chainAreas = null ; }
the edit shape .