KLayout Manual: Main Index » Class Index » API reference - Class RdbReference

API reference - Class RdbReference

Notation used in Ruby API documentation

Description: A cell reference

This class describes a cell reference. Such reference object can be attached to cells to describe instantiations of them in parent cells. Not necessarily all instantiations of a cell in the layout database are represented by references and in some cases there might even be no references at all. The references are merely a hint how a marker must be displayed in the context of any other, potentially parent, cell in the layout database.

Public constructors

new RdbReferencenew(const DCplxTrans trans,
unsigned int parent_cell_id)
Create a reference with a given transformation and parent cell ID

Public methods

[const]voidassign(const RdbReference other)Assign the contents of another object to self
voidcreateEnsures the C++ object is created
voiddestroyExplicitly destroy the object
[const]booldestroyed?Returns a value indicating whether the object was already destroyed
[const]RdbReferencedupCreates a copy of self
[const]boolis_const_object?Returns a value indicating whether the reference is a const reference
[const]unsigned intparent_cell_idGets parent cell ID for this reference
voidparent_cell_id=(unsigned int id)Sets the parent cell ID for this reference
[const]DCplxTranstransGets the transformation for this reference
voidtrans=(const DCplxTrans trans)Sets the transformation for this reference

Detailed description

[const] void assign(const RdbReference 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.

void create

Description: Ensures the C++ object is created

Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created.

void 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: Returns a value indicating whether the object was already 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] RdbReference dup

Description: Creates a copy of self

[const] bool is_const_object?

Description: Returns a value indicating whether the reference is a const reference

This method returns true, if self is a const reference. In that case, only const methods may be called on self.

[static] new RdbReference new(const DCplxTrans trans,unsigned int parent_cell_id)

Description: Create a reference with a given transformation and parent cell ID

[const] unsigned int parent_cell_id

Description: Gets parent cell ID for this reference

Returns:The parent cell ID

void parent_cell_id=(unsigned int id)

Description: Sets the parent cell ID for this reference

[const] DCplxTrans trans

Description: Gets the transformation for this reference

Returns:The transformation

The transformation describes the transformation of the child cell into the parent cell. In that sense that is the usual transformation of a cell reference.

void trans=(const DCplxTrans trans)

Description: Sets the transformation for this reference