API reference - Class TransNotation used in Ruby API documentation Description: A simple transformation
Simple transformations only provide rotations about angles which a multiples of 90 degree. Together with the mirror options, this results in 8 distinct orientations (fixpoint transformations). These can be combined with a displacement which is applied after the rotation/mirror. This version acts on integer coordinates. A version for floating-point coordinates is DTrans. Here are some examples for using the Trans class: t = RBA::Trans::new(0, 100) # displacement by 100 DBU in y direction # the inverse: -> "r0 0,-100" t.inverted.to_s # concatenation: -> "r90 -100,0" (RBA::Trans::new(RBA::Trans::R90) * t).to_s # apply to a point: -> "0,100" RBA::Trans::new(RBA::Trans::R90).trans(RBA::Point::new(100, 0)) See The Database API for more details about the database objects. Public constructors
Public methods
Public static methods and constants
Deprecated methods (protected, public, static, non-static and constructors)
Detailed description[const] bool !=(const Trans other)Description: Inequality test [const] Trans *(const Trans *)Description: Multiplication (concatenation) of transformations
The * operator returns self*t ("t is applied before this transformation"). [const] bool <(const Trans other)Description: A sorting criterion This method is provided to implement a sorting order. The definition of 'less' is opaque and might change in future versions. [const] bool ==(const Trans other)Description: Equality test [static] int M0Description: Angle/mirror code for the "mirrored at the x-axis" transformation [static] int M135Description: Angle/mirror code for the "mirrored at the 135 degree axis" transformation [static] int M45Description: Angle/mirror code for the "mirrored at the 45 degree axis" transformation [static] int M90Description: Angle/mirror code for the "mirrored at the y (90 degree) axis" transformation [static] int R0Description: Angle/mirror code for the "unrotated" transformation [static] int R180Description: Angle/mirror code for the "rotated by 180 degree counterclockwise" transformation [static] int R270Description: Angle/mirror code for the "rotated by 270 degree counterclockwise" transformation [static] int R90Description: Angle/mirror code for the "rotated by 90 degree counterclockwise" transformation [const] int angleDescription: Gets the angle in units of 90 degree This value delivers the rotation component. In addition, a mirroring at the x axis may be applied before if the is_mirror? property is true. void angle=(int a)Description: Sets the angle in units of 90 degree
This method was introduced in version 0.20. [const] void assign(const Trans other)Description: Assign the contents of another object to self This method assigns the contents of another object to self. This is a deep copy that does not only copy the reference but the actual content. void createDescription: Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. [const] int ctrans(int d)Description: The transformation of a distance
The "ctrans" method transforms the given distance. e = t(d). For the simple transformations, there is no magnification and no modification of the distance therefore. void destroyDescription: Explicitly destroy the object Explicitly destroy the object on C++ side if it was owned by the Ruby interpreter. Subsequent access to this object will throw an exception. If the object is not owned by Ruby, this method will do nothing. [const] bool destroyed?Description: Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. [const] Point dispDescription: Accessor to the point void disp=(const Point u)Description: Sets the displacement
This method was introduced in version 0.20. [const] Trans dupDescription: Creates a copy of self [static] Trans from_dtrans(const DTrans double_trans)Description: Conversion constructor from a floating-point transformation [static] new Trans from_s(string s)Description: Creates an object from a string Creates the object from a string representation (as returned by to_s) This method has been added in version 0.23. Trans invertDescription: In-place inversion
Inverts the transformation and replaces this object by the inverted one. [const] Trans invertedDescription: Inversion
Returns the inverted transformation [const] bool is_const_object?Description: Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. [const] bool is_mirror?Description: Gets the mirror flag If this property is true, the transformation is composed of a mirroring at the x-axis followed by a rotation by the angle given by the angle property. [static] int m0Description: Angle/mirror code for the "mirrored at the x-axis" transformation This method is deprecated. Use method 'M0' instead [static] int m135Description: Angle/mirror code for the "mirrored at the 135 degree axis" transformation This method is deprecated. Use method 'M135' instead [static] int m45Description: Angle/mirror code for the "mirrored at the 45 degree axis" transformation This method is deprecated. Use method 'M45' instead [static] int m90Description: Angle/mirror code for the "mirrored at the y (90 degree) axis" transformation This method is deprecated. Use method 'M90' instead void mirror=(bool m)Description: Sets the mirror flag
"mirroring" describes a reflection at the x-axis which is included in the transformation prior to rotation. This method was introduced in version 0.20. [static] new Trans newDescription: Creates a unit transformation [static] new Trans new(int f)Description: Conversion constructor from a fixpoint transformation
This constructor will create a transformation with a fixpoint transformation but no displacement. [static] new Trans new(int rot,bool mirr,Point u)Description: The standard constructor using angle and mirror flag
The sequence of operations is: mirroring at x axis, rotation, application of displacement. [static] new Trans new(int rot,bool mirr,int x,int y)Description: The standard constructor using angle and mirror flag and two coordinate values for displacement
The sequence of operations is: mirroring at x axis, rotation, application of displacement. [static] new Trans new(int f,const Point u)Description: The standard constructor using a code rather than angle and mirror
[static] new Trans new(int f,int x,int y)Description: The standard constructor using a code rather than angle and mirror and two coordinate values for displacement
[static] new Trans new(const Point u)Description: The standard constructor using a displacement only
[static] new Trans new(int x,int y)Description: The standard constructor using a displacement given as two coordinates
[static] new Trans new_f(int f)Description: Conversion constructor from a fixpoint transformation
This method is deprecated. Use method 'new' instead [static] new Trans new_fu(int f,const Point u)Description: The standard constructor using a code rather than angle and mirror
This method is deprecated. Use method 'new' instead [static] new Trans new_fxy(int f,int x,int y)Description: The standard constructor using a code rather than angle and mirror and two coordinate values for displacement
This method is deprecated. Use method 'new' instead [static] new Trans new_rmu(int rot,bool mirr,Point u)Description: The standard constructor using angle and mirror flag
This method is deprecated. Use method 'new' instead [static] new Trans new_rmxy(int rot,bool mirr,int x,int y)Description: The standard constructor using angle and mirror flag and two coordinate values for displacement
This method is deprecated. Use method 'new' instead [static] new Trans new_u(const Point u)Description: The standard constructor using a displacement only
This method is deprecated. Use method 'new' instead [static] new Trans new_xy(int x,int y)Description: The standard constructor using a displacement given as two coordinates
This method is deprecated. Use method 'new' instead [static] int r0Description: Angle/mirror code for the "unrotated" transformation This method is deprecated. Use method 'R0' instead [static] int r180Description: Angle/mirror code for the "rotated by 180 degree counterclockwise" transformation This method is deprecated. Use method 'R180' instead [static] int r270Description: Angle/mirror code for the "rotated by 270 degree counterclockwise" transformation This method is deprecated. Use method 'R270' instead [static] int r90Description: Angle/mirror code for the "rotated by 90 degree counterclockwise" transformation This method is deprecated. Use method 'R90' instead [const] int rotDescription: Gets the angle/mirror code The angle/mirror code is one of the constants R0, R90, R180, R270, M0, M45, M90 and M135. rx is the rotation by an angle of x counter clockwise. mx is the mirroring at the axis given by the angle x (to the x-axis). void rot=(int r)Description: Sets the angle/mirror code
This method was introduced in version 0.20. [const] string to_sDescription: String conversion [const] Point trans(const Point p)Description: The transformation of a point
The "trans" method transforms the given point. q = t(p) |