Class CellInstArray (version 0.18)

Description: A single or array cell instance

This object represents either single or array cell instances. A cell instance array is a regular array, described by two displacement vectors (a, b) and the instance count along that axes (na, nb).

In addition, this object represents either instances with simple transformations or instances with complex transformations. The latter includes magnified instances and instances rotated by an arbitrary angle.

Class overview

Index

Method Overview

[static] CellInstArray newDefault constructor
[static] CellInstArray new( unsigned int cell_index, Trans trans )Create a single cell instance
[static] CellInstArray new( unsigned int cell_index, CplxTrans trans )Create a single cell instance with a complex transformation
[static] CellInstArray new( unsigned int cell_index, Trans trans, Point a, Point b, unsigned int na, unsigned int nb )Create a single cell instance
[static] CellInstArray new( unsigned int cell_index, CplxTrans trans, Point, Point, unsigned int, unsigned int )Create a single cell instance with a complex transformation
[const] Box bbox( Layout layout )The bounding box of the array
[const] Box bbox_per_layer( Layout layout, unsigned int layer_index )The bounding box of the array with respect to one layer
[const] unsigned int sizeThe number of single instances in the array
[const] unsigned int cell_indexGet the cell index of the cell instantiated
[const] CplxTrans cplx_transGet the complex transformation of the first instance in the array
[const] const ref Trans transGet the transformation of the first instance in the array
invertInvert an array reference
[const] bool <( CellInstArray )Less operator
[const] bool ==( CellInstArray )Compare operator for equality
[const] bool !=( CellInstArray )Compare operator for inequality
[const] bool is_complex?Test, if the array is a complex array
[const] bool is_regular_array?Test, if this instance is a regular array
[const] Point aReturn the displacement vector for the 'a' axis
[const] Point bReturn the displacement vector for the 'b' axis
[const] unsigned long naReturn the number of instances in the 'a' axis
[const] unsigned long nbReturn the number of instances in the 'b' axis
assign( CellInstArray other )Assign the contents of another object to self
[const] CellInstArray dupCreates a copy of self.
destroyExplicitly destroy the object
[const] bool destroyedTell, if the object was destroyed

[const] bool !=( CellInstArray )

Description: Compare operator for inequality

[const] bool <( CellInstArray )

Description: Less operator

[const] bool ==( CellInstArray )

Description: Compare operator for equality

[const] Point a

Description: Return the displacement vector for the 'a' axis

assign( CellInstArray 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] Point b

Description: Return the displacement vector for the 'b' axis

[const] Box bbox( Layout layout )

Description: The bounding box of the array

The bounding box incorporates all instances that the array represents. It needs the layout object to access the actual cell from the cell index.

[const] Box bbox_per_layer( Layout layout, unsigned int layer_index )

Description: The bounding box of the array with respect to one layer

The bounding box incorporates all instances that the array represents. It needs the layout object to access the actual cell from the cell index.

[const] unsigned int cell_index

Description: Get the cell index of the cell instantiated

[const] CplxTrans cplx_trans

Description: Get the complex transformation of the first instance in the array

This method is always valid compared to trans, since simple transformations can be expressed as complex transformations as well.

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] CellInstArray dup

Description: Creates a copy of self.

invert

Description: Invert an array reference

The inverted array reference describes in which transformations the parent cell is seen from the current cell.

[const] bool is_complex?

Description: Test, if the array is a complex array

Returns true if the array represents complex instances (that is, with magnification and arbitrary rotation angles).

[const] bool is_regular_array?

Description: Test, if this instance is a regular array

[const] unsigned long na

Description: Return the number of instances in the 'a' axis

[const] unsigned long nb

Description: Return the number of instances in the 'b' axis

[static] CellInstArray new( unsigned int cell_index, Trans trans, Point a, Point b, unsigned int na, unsigned int nb )
synonym: [static] CellInstArray new_inst_array( unsigned int cell_index, Trans trans, Point a, Point b, unsigned int na, unsigned int nb )

Description: Create a single cell instance

cell_index:The cell to instantiate
trans:The transformation by which to instantiate the cell
a:The displacement vector of the array in the 'a' axis
b:The displacement vector of the array in the 'b' axis
na:The number of placements in the 'a' axis
nb:The number of placements in the 'b' axis

[static] CellInstArray new( unsigned int cell_index, CplxTrans trans, Point, Point, unsigned int, unsigned int )
synonym: [static] CellInstArray new_inst_array_cplx( unsigned int cell_index, CplxTrans trans, Point, Point, unsigned int, unsigned int )

Description: Create a single cell instance with a complex transformation

cell_index:The cell to instantiate
trans:The complex transformation by which to instantiate the cell
a:The displacement vector of the array in the 'a' axis
b:The displacement vector of the array in the 'b' axis
na:The number of placements in the 'a' axis
nb:The number of placements in the 'b' axis

[static] CellInstArray new( unsigned int cell_index, Trans trans )
synonym: [static] CellInstArray new_inst( unsigned int cell_index, Trans trans )

Description: Create a single cell instance

cell_index:The cell to instantiate
trans:The transformation by which to instantiate the cell

[static] CellInstArray new( unsigned int cell_index, CplxTrans trans )
synonym: [static] CellInstArray new_inst_cplx( unsigned int cell_index, CplxTrans trans )

Description: Create a single cell instance with a complex transformation

cell_index:The cell to instantiate
trans:The complex transformation by which to instantiate the cell

[static] CellInstArray new

Description: Default constructor

[const] unsigned int size

Description: The number of single instances in the array

If the instance represents a single instance, the count is 1. Otherwise it is na*nb.

[const] const ref Trans trans

Description: Get the transformation of the first instance in the array

The transformation returned is only valid if the array does not represent a complex transformation array