# Hurricane Documentation

# Hurricane VLSI Database

List of all members | Public Member Functions
Hurricane::Entity Class Referenceabstract

Occurrenceable objects root class (API). More...

Inheritance diagram for Hurricane::Entity:
[legend]

## Public Member Functions

virtual Cell * | getCell () const =0
virtual Box | getBoundingBox () const =0
Public Member Functions inherited from Hurricane::DBo
virtual void | destroy ()
Property * | getProperty (const Name &) const
Properties | getProperties () const
bool | hasProperty () const
void | put (Property *)
void | remove (Property *)
void | removeProperty (const Name &)
void | clearProperties ()

## Detailed Description

Occurrenceable objects root class (API).

# Introduction

Entities are abstract objects representing the category of occurrenceable objects.

# Unique Identifier

Each Entity is associated with a unique identifier (see Entity::getId()). This identifier is used as a sorting key in the various IntrusiveMap throughout Hurricane to ensure determinism. It came as a replacement of the object's own address which is not suitable for this purpose.

For STL container, the Entity::CompareById functor is provided.

The identifier is generated from an ever incrementing counter on 32 bits or 64 bits, depending on the target system architecture. If the 32/64 bit capacity is reached an exception is thrown.

## Member Function Documentation

## ◆ getCell()

Cell * Hurricane::Entity::getCell | ( |  | ) | const

pure virtual

Returns: Returns the cell owning this entity (when the Entity is a Cell, the Cell itself is returned)

## ◆ getBoundingBox()

Box Hurricane::Entity::getBoundingBox | ( |  | ) | const

pure virtual

Returns
  Returns the bounding box of the entity. It is defined as the smallest box enclosing the entity or its constituents.

Remarks
  For the Plugs, which are not objects of the physical layout, the returned envelope is a Box of null dimensions (ponctual) centered on the location of the master Net of the Plug, to which has been applied the transformation associated to the Instance of the Plug.

Implemented in Hurricane::RoutingPad.

The documentation for this class was generated from the following files:

- Entity.h
- Entity.dox