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) | |
Transformation & | operator= (const Transformation &transformation) |
bool | operator== (const Transformation &transformation) const |
bool | operator!= (const Transformation &transformation) const |
const DbU::Unit & | getTx () const |
const DbU::Unit & | getTy () const |
Point | getTranslation () const |
const Orientation & | getOrientation () 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 |
Transformation & | invert () |
void | applyOn (DbU::Unit &x, DbU::Unit &y) const |
void | applyOn (Point &point) const |
void | applyOn (Box &box) const |
void | applyOn (Transformation &transformation) const |
Transformation description (API)
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:
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.
Hurricane::Transformation::Transformation | ( | ) |
Default constructor : The translation is null and the orientation is equal to ID.
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).
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>
.
Hurricane::Transformation::Transformation | ( | const Transformation & | transformation | ) |
Copy constructor.
Transformation & Hurricane::Transformation::operator= | ( | const Transformation & | transformation | ) |
Assignment operator.
bool Hurricane::Transformation::operator== | ( | const Transformation & | transformation | ) | const |
Two transformations are identical if their translations and orientation are identical.
bool Hurricane::Transformation::operator!= | ( | const Transformation & | transformation | ) | const |
Two transformations are different if eitheir their translations or orientation differ.
|
inline |
Returns: the horizontal component of the translation.
|
inline |
Returns: the vertical component of the translation.
|
inline |
Returns: the translation component of the transformation.
|
inline |
Returns: the orientation of the transformation (may be used in a switch).
Returns: the point abscissa resulting of the transformation application on the point defined by <x>
et <y>
.
Returns: the point ordinate resulting of the transformation application on the point defined by <x>
et <y>
.
Returns: the point abscissa resulting of the transformation application on <point>
.
Returns: the point ordinate resulting of the transformation application on <point>
.
Returns: the horizontal component of the vector resulting from the application of the transformation on the vector defined by <dx>
et <dy>
.
Returns: the vertical component of the vector resulting from the application of the transformation on the vector defined by <dx>
et <dy>
.
Returns: the point resulting from the application of the transformation on the point defined by <dx>
et <dy>
.
Returns: the point resulting from the application of the transformation on <point>
.
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>
.
Returns: the box resulting from the application of the transformation on the box defined by <point1>
et <point2>
.
Returns: the box resulting from the application of the transformation on the box <box>
.
Transformation Hurricane::Transformation::getTransformation | ( | const Transformation & | transformation | ) | const |
Returns: the transformation resulting from the application of the transformation on the transformation <transformation>
.
Referenced by Hurricane::Query::getTransformation().
Transformation Hurricane::Transformation::getInvert | ( | ) | const |
Returns: the inverse transformation.
Transformation & Hurricane::Transformation::invert | ( | ) |
inverts the transformation <this>
and returns a reference to it in order to apply in sequence a new function.
void Hurricane::Transformation::applyOn | ( | Point & | point | ) | const |
Applies the transformation on the point given in argument.
void Hurricane::Transformation::applyOn | ( | Box & | box | ) | const |
Applies the transformation on the box given in argument.
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.
Generated by doxygen 1.9.1 on Thu Aug 11 2022 | Return to top of page |
Hurricane VLSI Database | Copyright © 2000-2020 Bull S.A. All rights reserved |