degate 0.1.1
Public Types | Public Member Functions | Protected Member Functions | Private Attributes
degate::PlacedLogicModelObject Class Reference

Represents a placeable object. More...

#include <PlacedLogicModelObject.h>

Inheritance diagram for degate::PlacedLogicModelObject:
Inheritance graph
[legend]

List of all members.

Public Types

enum  HIGHLIGHTING_STATE {
  HLIGHTSTATE_NOT = 0,
  HLIGHTSTATE_DIRECT = 1,
  HLIGHTSTATE_ADJACENT = 2
}

Public Member Functions

 PlacedLogicModelObject ()
 The constructor.
virtual ~PlacedLogicModelObject ()
 The destructor.
virtual HIGHLIGHTING_STATE get_highlighted () const
 A placed object is highlightable.
virtual bool is_highlighted () const
 Check if an object is highlighted at all.
virtual void set_highlighted (HIGHLIGHTING_STATE state)
 Set the selection state.
virtual void set_layer (std::tr1::shared_ptr< Layer > layer)
 Set the layer on which the object is placed.
virtual std::tr1::shared_ptr
< Layer
get_layer ()
 Get the layer on which the object is placed.
virtual void print (std::ostream &os=std::cout, int n_tabs=0) const =0
 Print the object.

Protected Member Functions

void notify_shape_change ()
 Ajust the position in the quadtree.

Private Attributes

HIGHLIGHTING_STATE highlight_state
std::tr1::shared_ptr< Layerlayer

Detailed Description

Represents a placeable object.

Any class that represents a somewhere placeable objects should inherit from that base class. The term "placed objects" is related to real existent physical structures on the chip surface (e.g. wire, vias, ...) as well as logical objects (e.g. annotations).

Definition at line 41 of file PlacedLogicModelObject.h.


Member Enumeration Documentation

Enumerator:
HLIGHTSTATE_NOT 
HLIGHTSTATE_DIRECT 
HLIGHTSTATE_ADJACENT 

Definition at line 47 of file PlacedLogicModelObject.h.


Constructor & Destructor Documentation

PlacedLogicModelObject::PlacedLogicModelObject ( )

The constructor.

Definition at line 31 of file PlacedLogicModelObject.cc.

PlacedLogicModelObject::~PlacedLogicModelObject ( ) [virtual]

The destructor.

Definition at line 34 of file PlacedLogicModelObject.cc.

                                                {
}

Member Function Documentation

PlacedLogicModelObject::HIGHLIGHTING_STATE PlacedLogicModelObject::get_highlighted ( ) const [virtual]

A placed object is highlightable.

You can ask for its state with this method.

Definition at line 37 of file PlacedLogicModelObject.cc.

References highlight_state.

                                                                                       {
  return highlight_state;
}
std::tr1::shared_ptr< Layer > PlacedLogicModelObject::get_layer ( ) [virtual]

Get the layer on which the object is placed.

Definition at line 54 of file PlacedLogicModelObject.cc.

References layer.

Referenced by degate::Wire::push_object_to_server(), degate::Via::push_object_to_server(), and degate::EMarker::push_object_to_server().

                                                          {
  return layer;
}

Here is the caller graph for this function:

bool PlacedLogicModelObject::is_highlighted ( ) const [virtual]

Check if an object is highlighted at all.

Definition at line 41 of file PlacedLogicModelObject.cc.

References highlight_state, and HLIGHTSTATE_NOT.

void PlacedLogicModelObject::notify_shape_change ( ) [protected]
virtual void degate::PlacedLogicModelObject::print ( std::ostream &  os = std::cout,
int  n_tabs = 0 
) const [pure virtual]
void PlacedLogicModelObject::set_highlighted ( PlacedLogicModelObject::HIGHLIGHTING_STATE  state) [virtual]

Set the selection state.

Definition at line 45 of file PlacedLogicModelObject.cc.

References highlight_state.

                                                                                           {
  highlight_state = state;
}
void PlacedLogicModelObject::set_layer ( std::tr1::shared_ptr< Layer layer) [virtual]

Set the layer on which the object is placed.

Definition at line 50 of file PlacedLogicModelObject.cc.

References layer.

                                                                    {
  this->layer = layer;
}

Member Data Documentation

Definition at line 55 of file PlacedLogicModelObject.h.

Referenced by get_highlighted(), is_highlighted(), and set_highlighted().

std::tr1::shared_ptr<Layer> degate::PlacedLogicModelObject::layer [private]

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