degate  0.1.2
Public Member Functions
degate::AbstractShape Class Reference

Represents an abstract shape. More...

#include <AbstractShape.h>

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

List of all members.

Public Member Functions

virtual bool in_shape (int x, int y, int max_distance=0) const =0
 Check in the Point with coordinates x and y is within the area of the shape.
virtual bool in_bounding_box (BoundingBox const &bbox) const =0
 Check if this shape is in the bounding box.
virtual BoundingBox const & get_bounding_box () const =0
 Get the bounding box.
virtual void shift_x (int delta_x)=0
 Shift the shape vertically.
virtual void shift_y (int delta_y)=0
 Shift the shape horizontally.

Detailed Description

Represents an abstract shape.

Definition at line 33 of file AbstractShape.h.


Member Function Documentation

virtual BoundingBox const& degate::AbstractShape::get_bounding_box ( ) const [pure virtual]
virtual bool degate::AbstractShape::in_bounding_box ( BoundingBox const &  bbox) const [pure virtual]

Check if this shape is in the bounding box.

Note: it is somhow unclear if this 'in' means complete within or if an intersection is sufficient.

Implemented in degate::Gate, degate::GatePort, degate::Annotation, degate::Via, degate::EMarker, degate::Wire, degate::Line, degate::Circle, and degate::Rectangle.

virtual bool degate::AbstractShape::in_shape ( int  x,
int  y,
int  max_distance = 0 
) const [pure virtual]

Check in the Point with coordinates x and y is within the area of the shape.

Implemented in degate::Gate, degate::GatePort, degate::Annotation, degate::Via, degate::EMarker, degate::Wire, degate::Line, degate::Rectangle, and degate::Circle.

virtual void degate::AbstractShape::shift_x ( int  delta_x) [pure virtual]

Shift the shape vertically.

Note: If you store this shape in a QuadTree, you have to manage the changes in your QuadTree by yourself.

Implemented in degate::Gate, degate::GatePort, degate::Annotation, degate::Via, degate::EMarker, degate::Wire, degate::Rectangle, degate::Line, and degate::Circle.

virtual void degate::AbstractShape::shift_y ( int  delta_y) [pure virtual]

Shift the shape horizontally.

Note: If you store this shape in a QuadTree, you have to manage the changes in your QuadTree by yourself.

Implemented in degate::Gate, degate::GatePort, degate::Annotation, degate::Via, degate::EMarker, degate::Wire, degate::Rectangle, degate::Line, and degate::Circle.


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