Class CellMapping (version 0.20)

Description: A cell mapping derived from two hierarchies

A cell mapping is an association of cells in two layouts forming pairs of cells, i.e. on cell corresponds to another cell in the other layout. Correspondency is defined by exact identity of both flat instantiations in the given staring cell. Therefore, when a cell is mapped to another cell, shapes can be transferred from one cell to another while effectively rendering the same flat geometry (in the context of the given starting cells).

A cell might not be mapped to another cell which basically means that there is no corresponding cell. In this case, flattening to the next mapped cell is an option to transfer geometries despite the missing mapping.

A cell mapping is created by instantiating a cell mapping object. Pass two layouts and two starting cells to specify which cell trees to map.

Class overview

Index

Method Overview

[static] CellMapping new( Layout layout_a, unsigned int cell_index_a, Layout layout_b, unsigned int cell_index_b )Create a new cell mapping
[const] bool has_mapping?( unsigned int cell_index_b )Determine if a cell layout_b has a mapping to a layout_a cell.
[const] unsigned int cell_mapping( unsigned int cell_index_b )Determine cell mapping to a layout_b cell to the corresponding layout_a cell.
assign( CellMapping other )Assign the contents of another object to self
[const] CellMapping dupCreates a copy of self.
destroyExplicitly destroy the object
[const] bool destroyedTell, if the object was destroyed

assign( CellMapping other )

Description: Assign the contents of another object to self

This method assigns the contents of another object to self. This is a deep copy that does not only copy the reference but the actual content.

[const] unsigned int cell_mapping( unsigned int cell_index_b )

Description: Determine cell mapping to a layout_b cell to the corresponding layout_a cell.

cell_index_b:The index of the cell in layout_b whose mapping is requested.
returns:the cell index in layout_a.

destroy

Description: Explicitly destroy the object

Explicitly destroy the object on C++ side if it was owned by the Ruby interpreter. Subsequent access to this object will throw an exception. If the object is not owned by Ruby, this method will do nothing.

[const] bool destroyed

Description: Tell, if the object was destroyed

This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself.

[const] CellMapping dup

Description: Creates a copy of self.

[const] bool has_mapping?( unsigned int cell_index_b )

Description: Determine if a cell layout_b has a mapping to a layout_a cell.

cell_index_b:The index of the cell in layout_b whose mapping is requested.
returns:true, if the cell has a mapping

[static] CellMapping new( Layout layout_a, unsigned int cell_index_a, Layout layout_b, unsigned int cell_index_b )

Description: Create a new cell mapping

The cell mapping is created for cells below cell_a and cell_b in the respective layouts.