KLayout 0.29.8 (2024-10-28 63dd591e5) [master]

API reference - Class RdbItemValue

Notation used in Ruby API documentation

Module: rdb

Description: A value object inside the report database

Value objects are attached to items to provide markers. An arbitrary number of such value objects can be attached to an item. Currently, a value can represent a box, a polygon or an edge. Geometrical objects are represented in micron units and are therefore "D" type objects (DPolygon, DEdge and DBox).

Public constructors

new RdbItemValue ptrnew(double f)Creates a value representing a numeric value
new RdbItemValue ptrnew(string s)Creates a value representing a string
new RdbItemValue ptrnew(const DPolygon p)Creates a value representing a DPolygon object
new RdbItemValue ptrnew(const DPath p)Creates a value representing a DPath object
new RdbItemValue ptrnew(const DText t)Creates a value representing a DText object
new RdbItemValue ptrnew(const DEdge e)Creates a value representing a DEdge object
new RdbItemValue ptrnew(const DEdgePair ee)Creates a value representing a DEdgePair object
new RdbItemValue ptrnew(const DBox b)Creates a value representing a DBox object

Public methods

[const]RdbItemValue ptr_const_castReturns a non-const reference to self.
void_createEnsures the C++ object is created
void_destroyExplicitly destroys the object
[const]bool_destroyed?Returns a value indicating whether the object was already destroyed
[const]bool_is_const_object?Returns a value indicating whether the reference is a const reference
void_manageMarks the object as managed by the script side.
void_unmanageMarks the object as no longer owned by the script side.
voidassign(const RdbItemValue other)Assigns another object to self
[const]DBoxboxGets the box if the value represents one.
[const]new RdbItemValue ptrdupCreates a copy of self
[const]DEdgeedgeGets the edge if the value represents one.
[const]DEdgePairedge_pairGets the edge pair if the value represents one.
[const]doublefloatGets the numeric value.
[const]boolis_box?Returns true if the value object represents a box
[const]boolis_edge?Returns true if the value object represents an edge
[const]boolis_edge_pair?Returns true if the value object represents an edge pair
[const]boolis_float?Returns true if the value object represents a numeric value
[const]boolis_path?Returns true if the value object represents a path
[const]boolis_polygon?Returns true if the value object represents a polygon
[const]boolis_string?Returns true if the object represents a string value
[const]boolis_text?Returns true if the value object represents a text
[const]DPathpathGets the path if the value represents one.
[const]DPolygonpolygonGets the polygon if the value represents one.
[const]stringstringGets the string representation of the value.
[const]unsigned longtag_idGets the tag ID if the value is a tagged value or 0 if not
voidtag_id=(unsigned long id)Sets the tag ID to make the value a tagged value or 0 to reset it
[const]DTexttextGets the text if the value represents one.
[const]stringto_sConverts a value to a string

Public static methods and constants

RdbItemValue ptrfrom_s(string s)Creates a value object from a string

Deprecated methods (protected, public, static, non-static and constructors)

voidcreateUse of this method is deprecated. Use _create instead
voiddestroyUse of this method is deprecated. Use _destroy instead
[const]booldestroyed?Use of this method is deprecated. Use _destroyed? instead
[const]boolis_const_object?Use of this method is deprecated. Use _is_const_object? instead

Detailed description

_const_cast

Signature: [const] RdbItemValue ptr _const_cast

Description: Returns a non-const reference to self.

Basically, this method allows turning a const object reference to a non-const one. This method is provided as last resort to remove the constness from an object. Usually there is a good reason for a const object reference, so using this method may have undesired side effects.

This method has been introduced in version 0.29.6.

_create

Signature: 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.

_destroy

Signature: void _destroy

Description: Explicitly destroys the object

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

_destroyed?

Signature: [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.

_is_const_object?

Signature: [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.

_manage

Signature: void _manage

Description: Marks the object as managed by the script side.

After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required.

Usually it's not required to call this method. It has been introduced in version 0.24.

_unmanage

Signature: void _unmanage

Description: Marks the object as no longer owned by the script side.

Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur.

Usually it's not required to call this method. It has been introduced in version 0.24.

assign

Signature: void assign (const RdbItemValue other)

Description: Assigns another object to self

box

Signature: [const] DBox box

Description: Gets the box if the value represents one.

Returns:The DBox object or nil

create

Signature: void create

Description: Ensures the C++ object is created

Use of this method is deprecated. Use _create instead

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.

destroy

Signature: void destroy

Description: Explicitly destroys the object

Use of this method is deprecated. Use _destroy instead

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

destroyed?

Signature: [const] bool destroyed?

Description: Returns a value indicating whether the object was already destroyed

Use of this method is deprecated. Use _destroyed? instead

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.

dup

Signature: [const] new RdbItemValue ptr dup

Description: Creates a copy of self

Python specific notes:
This method also implements '__copy__' and '__deepcopy__'.

edge

Signature: [const] DEdge edge

Description: Gets the edge if the value represents one.

Returns:The DEdge object or nil

edge_pair

Signature: [const] DEdgePair edge_pair

Description: Gets the edge pair if the value represents one.

Returns:The DEdgePair object or nil

float

Signature: [const] double float

Description: Gets the numeric value.

Returns:The numeric value or 0

This method has been introduced in version 0.24.

from_s

Signature: [static] RdbItemValue ptr from_s (string s)

Description: Creates a value object from a string

The string format is the same than obtained by the to_s method.

is_box?

Signature: [const] bool is_box?

Description: Returns true if the value object represents a box

is_const_object?

Signature: [const] bool is_const_object?

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

Use of this method is deprecated. Use _is_const_object? instead

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

is_edge?

Signature: [const] bool is_edge?

Description: Returns true if the value object represents an edge

is_edge_pair?

Signature: [const] bool is_edge_pair?

Description: Returns true if the value object represents an edge pair

is_float?

Signature: [const] bool is_float?

Description: Returns true if the value object represents a numeric value

This method has been introduced in version 0.24.

is_path?

Signature: [const] bool is_path?

Description: Returns true if the value object represents a path

This method has been introduced in version 0.22.

is_polygon?

Signature: [const] bool is_polygon?

Description: Returns true if the value object represents a polygon

is_string?

Signature: [const] bool is_string?

Description: Returns true if the object represents a string value

is_text?

Signature: [const] bool is_text?

Description: Returns true if the value object represents a text

This method has been introduced in version 0.22.

new

(1) Signature: [static] new RdbItemValue ptr new (double f)

Description: Creates a value representing a numeric value

This variant has been introduced in version 0.24

Python specific notes:
This method is the default initializer of the object.

(2) Signature: [static] new RdbItemValue ptr new (string s)

Description: Creates a value representing a string

Python specific notes:
This method is the default initializer of the object.

(3) Signature: [static] new RdbItemValue ptr new (const DPolygon p)

Description: Creates a value representing a DPolygon object

Python specific notes:
This method is the default initializer of the object.

(4) Signature: [static] new RdbItemValue ptr new (const DPath p)

Description: Creates a value representing a DPath object

This method has been introduced in version 0.22.

Python specific notes:
This method is the default initializer of the object.

(5) Signature: [static] new RdbItemValue ptr new (const DText t)

Description: Creates a value representing a DText object

This method has been introduced in version 0.22.

Python specific notes:
This method is the default initializer of the object.

(6) Signature: [static] new RdbItemValue ptr new (const DEdge e)

Description: Creates a value representing a DEdge object

Python specific notes:
This method is the default initializer of the object.

(7) Signature: [static] new RdbItemValue ptr new (const DEdgePair ee)

Description: Creates a value representing a DEdgePair object

Python specific notes:
This method is the default initializer of the object.

(8) Signature: [static] new RdbItemValue ptr new (const DBox b)

Description: Creates a value representing a DBox object

Python specific notes:
This method is the default initializer of the object.

path

Signature: [const] DPath path

Description: Gets the path if the value represents one.

Returns:The DPath object

This method has been introduced in version 0.22.

polygon

Signature: [const] DPolygon polygon

Description: Gets the polygon if the value represents one.

Returns:The DPolygon object

string

Signature: [const] string string

Description: Gets the string representation of the value.

Returns:The stringThis method will always deliver a valid string, even if is_string? is false. The objects stored in the value are converted to a string accordingly.

tag_id

Signature: [const] unsigned long tag_id

Description: Gets the tag ID if the value is a tagged value or 0 if not

Returns:The tag ID

See tag_id= for details about tagged values.

Tagged values have been added in version 0.24.

Python specific notes:
The object exposes a readable attribute 'tag_id'. This is the getter.

tag_id=

Signature: void tag_id= (unsigned long id)

Description: Sets the tag ID to make the value a tagged value or 0 to reset it

id:The tag ID

To get a tag ID, use RdbDatabase#user_tag_id (preferred) or RdbDatabase#tag_id (for internal use). Tagged values have been added in version 0.24. Tags can be given to identify a value, for example to attache measurement values to an item. To attach a value for a specific measurement, a tagged value can be used where the tag ID describes the measurement made. In that way, multiple values for different measurements can be attached to an item.

This variant has been introduced in version 0.24

Python specific notes:
The object exposes a writable attribute 'tag_id'. This is the setter.

text

Signature: [const] DText text

Description: Gets the text if the value represents one.

Returns:The DText object

This method has been introduced in version 0.22.

to_s

Signature: [const] string to_s

Description: Converts a value to a string

Returns:The string

The string can be used by the string constructor to create another object from it.

Python specific notes:
This method is also available as 'str(object)'.