Hurricane VLSI Database


Hurricane::Transformation Class Reference

Transformation description (API). More...

Classes

class  Orientation

Public Member Functions

 Transformation ()
 Transformation (const DbU::Unit &tx, const DbU::Unit &ty, const Orientation &orientation=Orientation::ID)
 Transformation (const Point &translation, const Orientation &orientation=Orientation::ID)
 Transformation (const Transformation &transformation)
Transformationoperator= (const Transformation &transformation)
bool operator== (const Transformation &transformation) const
bool operator!= (const Transformation &transformation) const
const DbU::UnitgetTx () const
const DbU::UnitgetTy () const
Point getTranslation () const
const OrientationgetOrientation () const
DbU::Unit getX (const DbU::Unit &x, const DbU::Unit &y) const
DbU::Unit getY (const DbU::Unit &x, const DbU::Unit &y) const
DbU::Unit getX (const Point &point) const
DbU::Unit getY (const Point &point) const
DbU::Unit getDx (const DbU::Unit &dx, const DbU::Unit &dy) const
DbU::Unit getDy (const DbU::Unit &dx, const DbU::Unit &dy) const
Point getPoint (const DbU::Unit &x, const DbU::Unit &y) const
Point getPoint (const Point &point) const
Box getBox (const DbU::Unit &x1, const DbU::Unit &y1, const DbU::Unit &x2, const DbU::Unit &y2) const
Box getBox (const Point &point1, const Point &point2) const
Box getBox (const Box &box) const
Transformation getTransformation (const Transformation &transformation) const
Transformation getInvert () const
Transformationinvert ()
void applyOn (DbU::Unit &x, DbU::Unit &y) const
void applyOn (Point &point) const
void applyOn (Box &box) const
void applyOn (Transformation &transformation) const

Detailed Description

Transformation description (API).

Introduction

Transformation objects are a combination of a translation and an orientation defined by the new enumeration Transformation::Orientation whose different values are described in table below. The orientation is done before the translation, which is to say that the orientation is applied in the coordinate system of the model.

The transformation formula is given by:

\‍[                 \Large
                 \left \{
                 \begin{array}{r c l l l l l}
                 x' & = & (a \times x) & + & (b \times y) & + & tx \\
                 y' & = & (c \times x) & + & (d \times y) & + & ty
                 \end{array}
                 \right .
\‍]

where x and y are the coordinates of any point, x' and y' the coordinates of the transformed point, tx and ty the horizontal and vertical components of the translation and where a, b, c and d are the coefficients of the matrix associated to the orientation. See Orientation for the value of a, b, c & d.

Remarks
Rotations are done counter clock wise

Constructor & Destructor Documentation

◆ Transformation() [1/4]

Hurricane::Transformation::Transformation ( )

Default constructor : The translation is null and the orientation is equal to ID.

Referenced by applyOn(), getInvert(), getTransformation(), invert(), operator!=(), operator=(), operator==(), and Transformation().

◆ Transformation() [2/4]

Hurricane::Transformation::Transformation ( const DbU::Unit & tx,
const DbU::Unit & ty,
const Orientation & orientation = Orientation::ID )

Builds a transformation whose translation part is defined by the arguments <xt> and <ty> and whose orientation is defined by <orientation> (<ID> by default).

◆ Transformation() [3/4]

Hurricane::Transformation::Transformation ( const Point & translation,
const Orientation & orientation = Orientation::ID )

Builds a transformation whose translation part is defined by the argument <translation> and whose default orientation is ID.

Builds a transformation whose translation part is defined by the argument <translation> and whose orientation is defined by <orientation>.

◆ Transformation() [4/4]

Hurricane::Transformation::Transformation ( const Transformation & transformation)

Copy constructor.

References Transformation().

Member Function Documentation

◆ operator=()

Transformation & Hurricane::Transformation::operator= ( const Transformation & transformation)

Assignment operator.

References Transformation().

◆ operator==()

bool Hurricane::Transformation::operator== ( const Transformation & transformation) const

Two transformations are identical if their translations and orientation are identical.

References Transformation().

◆ operator!=()

bool Hurricane::Transformation::operator!= ( const Transformation & transformation) const

Two transformations are different if eitheir their translations or orientation differ.

References Transformation().

◆ getTx()

const DbU::Unit & Hurricane::Transformation::getTx ( ) const
inline

Returns: the horizontal component of the translation.

◆ getTy()

const DbU::Unit & Hurricane::Transformation::getTy ( ) const
inline

Returns: the vertical component of the translation.

◆ getTranslation()

Point Hurricane::Transformation::getTranslation ( ) const
inline

Returns: the translation component of the transformation.

◆ getOrientation()

const Orientation & Hurricane::Transformation::getOrientation ( ) const
inline

Returns: the orientation of the transformation (may be used in a switch).

◆ getX() [1/2]

DbU::Unit Hurricane::Transformation::getX ( const DbU::Unit & x,
const DbU::Unit & y ) const

Returns: the point abscissa resulting of the transformation application on the point defined by <x> et <y>.

◆ getY() [1/2]

DbU::Unit Hurricane::Transformation::getY ( const DbU::Unit & x,
const DbU::Unit & y ) const

Returns: the point ordinate resulting of the transformation application on the point defined by <x> et <y>.

◆ getX() [2/2]

DbU::Unit Hurricane::Transformation::getX ( const Point & point) const

Returns: the point abscissa resulting of the transformation application on <point>.

◆ getY() [2/2]

DbU::Unit Hurricane::Transformation::getY ( const Point & point) const

Returns: the point ordinate resulting of the transformation application on <point>.

◆ getDx()

DbU::Unit Hurricane::Transformation::getDx ( const DbU::Unit & dx,
const DbU::Unit & dy ) const

Returns: the horizontal component of the vector resulting from the application of the transformation on the vector defined by <dx> et <dy>.

◆ getDy()

DbU::Unit Hurricane::Transformation::getDy ( const DbU::Unit & dx,
const DbU::Unit & dy ) const

Returns: the vertical component of the vector resulting from the application of the transformation on the vector defined by <dx> et <dy>.

◆ getPoint() [1/2]

Point Hurricane::Transformation::getPoint ( const DbU::Unit & x,
const DbU::Unit & y ) const

Returns: the point resulting from the application of the transformation on the point defined by <dx> et <dy>.

◆ getPoint() [2/2]

Point Hurricane::Transformation::getPoint ( const Point & point) const

Returns: the point resulting from the application of the transformation on <point>.

◆ getBox() [1/3]

Box Hurricane::Transformation::getBox ( const DbU::Unit & x1,
const DbU::Unit & y1,
const DbU::Unit & x2,
const DbU::Unit & y2 ) const

Returns: the box resulting from the application of the transformation on the box defined by <x1>, <y1>, <x2> et <y2>.

◆ getBox() [2/3]

Box Hurricane::Transformation::getBox ( const Point & point1,
const Point & point2 ) const

Returns: the box resulting from the application of the transformation on the box defined by <point1> et <point2>.

◆ getBox() [3/3]

Box Hurricane::Transformation::getBox ( const Box & box) const

Returns: the box resulting from the application of the transformation on the box <box>.

◆ getTransformation()

Transformation Hurricane::Transformation::getTransformation ( const Transformation & transformation) const

Returns: the transformation resulting from the application of the transformation on the transformation <transformation>.

References Transformation().

◆ getInvert()

Transformation Hurricane::Transformation::getInvert ( ) const

Returns: the inverse transformation.

References Transformation().

◆ invert()

Transformation & Hurricane::Transformation::invert ( )

inverts the transformation <this> and returns a reference to it in order to apply in sequence a new function.

References Transformation().

◆ applyOn() [1/4]

void Hurricane::Transformation::applyOn ( DbU::Unit & x,
DbU::Unit & y ) const

Transformers

Transformation::applyOn

Transformation::applyOn

Transformation::applyOn

Transformation::applyOn

Applies the transformation on the coordinates given in arguments.

◆ applyOn() [2/4]

void Hurricane::Transformation::applyOn ( Point & point) const

Applies the transformation on the point given in argument.

◆ applyOn() [3/4]

void Hurricane::Transformation::applyOn ( Box & box) const

Applies the transformation on the box given in argument.

◆ applyOn() [4/4]

void Hurricane::Transformation::applyOn ( Transformation & transformation) const

Applies the transformation on the transformation given in argument. This last one becomes then the transformation resulting of the product of those two.

References Transformation().


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


Generated by doxygen 1.16.1 on Return to top of page
Hurricane VLSI Database Copyright © 2000-2020 Bull S.A. All rights reserved