API reference - Class DTransNotation 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 floating-point coordinates. A version for integer coordinates is Trans. Here are some examples for using the DTrans class: t = RBA::DTrans::new(0, 100) # displacement by 100 DBU in y direction # the inverse: -> "r0 0,-100" t.inverted.to_s # concatenation: -> "r90 -100,0" (RBA::DTrans::new(RBA::DTrans::R90) * t).to_s # apply to a point: -> "0,100" RBA::DTrans::new(RBA::DTrans::R90).trans(RBA::DPoint::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 DTrans other)Description: Inequality test [const] DTrans *(const DTrans *)Description: Multiplication (concatenation) of transformations
The * operator returns self*t ("t is applied before this transformation"). [const] bool <(const DTrans 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 DTrans 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 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. void _destroyDescription: Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, 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] 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. void _manageDescription: Marks the object as managed by the script side. After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. Usually it's not required to call this method. It has been introduced in version 0.24. void _unmanageDescription: Marks the object as no longer owned by the script side. Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. Usually it's not required to call this method. It has been introduced in version 0.24. [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. Python specific notes:The object exposes a readable attribute 'angle'. This is the getter. void angle=(int a)Description: Sets the angle in units of 90 degree
This method was introduced in version 0.20. Python specific notes:The object exposes a writable attribute 'angle'. This is the setter. void assign(const DTrans other)Description: Assigns another object to self void createDescription: Ensures the C++ object is created Use of this method is deprecated. Use _create instead [const] double ctrans(double 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 destroys the object Use of this method is deprecated. Use _destroy instead [const] bool destroyed?Description: Returns a value indicating whether the object was already destroyed Use of this method is deprecated. Use _destroyed? instead [const] DPoint dispDescription: Accessor to the point Python specific notes:The object exposes a readable attribute 'disp'. This is the getter. void disp=(const DPoint u)Description: Sets the displacement
This method was introduced in version 0.20. Python specific notes:The object exposes a writable attribute 'disp'. This is the setter. [const] new DTrans ptr dupDescription: Creates a copy of self [static] DTrans from_itrans(const Trans int_trans)Description: Conversion constructor from an integer coordinate transformation [static] new DTrans ptr 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. DTrans invertDescription: In-place inversion
Inverts the transformation and replaces this object by the inverted one. [const] DTrans invertedDescription: Inversion
Returns the inverted transformation [const] bool is_const_object?Description: Returns a value indicating whether the reference is a const reference Use of this method is deprecated. Use _is_const_object? instead [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 Use of this method is deprecated. Use M0 instead [static] int m135Description: Angle/mirror code for the "mirrored at the 135 degree axis" transformation Use of this method is deprecated. Use M135 instead [static] int m45Description: Angle/mirror code for the "mirrored at the 45 degree axis" transformation Use of this method is deprecated. Use M45 instead [static] int m90Description: Angle/mirror code for the "mirrored at the y (90 degree) axis" transformation Use of this method is deprecated. Use 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. Python specific notes:The object exposes a writable attribute 'mirror'. This is the setter. [static] new DTrans ptr newDescription: Creates a unit transformation Python specific notes:This method is the default initializer of the object [static] new DTrans ptr new(int f)Description: Conversion constructor from a fixpoint transformation
This constructor will create a transformation with a fixpoint transformation but no displacement. Python specific notes:This method is the default initializer of the object [static] new DTrans ptr new(int rot,bool mirr,DPoint u)Description: The standard constructor using angle and mirror flag
The sequence of operations is: mirroring at x axis, rotation, application of displacement. Python specific notes:This method is the default initializer of the object [static] new DTrans ptr new(int rot,bool mirr,double x,double 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. Python specific notes:This method is the default initializer of the object [static] new DTrans ptr new(int f,const DPoint u)Description: The standard constructor using a code rather than angle and mirror
Python specific notes:This method is the default initializer of the object [static] new DTrans ptr new(int f,double x,double y)Description: The standard constructor using a code rather than angle and mirror and two coordinate values for displacement
Python specific notes:This method is the default initializer of the object [static] new DTrans ptr new(const DPoint u)Description: The standard constructor using a displacement only
Python specific notes:This method is the default initializer of the object [static] new DTrans ptr new(double x,double y)Description: The standard constructor using a displacement given as two coordinates
Python specific notes:This method is the default initializer of the object [static] new DTrans ptr new_f(int f)Description: Conversion constructor from a fixpoint transformation
Use of this method is deprecated. Use new instead [static] new DTrans ptr new_fu(int f,const DPoint u)Description: The standard constructor using a code rather than angle and mirror
Use of this method is deprecated. Use new instead [static] new DTrans ptr new_fxy(int f,double x,double y)Description: The standard constructor using a code rather than angle and mirror and two coordinate values for displacement
Use of this method is deprecated. Use new instead [static] new DTrans ptr new_rmu(int rot,bool mirr,DPoint u)Description: The standard constructor using angle and mirror flag
Use of this method is deprecated. Use new instead [static] new DTrans ptr new_rmxy(int rot,bool mirr,double x,double y)Description: The standard constructor using angle and mirror flag and two coordinate values for displacement
Use of this method is deprecated. Use new instead [static] new DTrans ptr new_u(const DPoint u)Description: The standard constructor using a displacement only
Use of this method is deprecated. Use new instead [static] new DTrans ptr new_xy(double x,double y)Description: The standard constructor using a displacement given as two coordinates
Use of this method is deprecated. Use new instead [static] int r0Description: Angle/mirror code for the "unrotated" transformation Use of this method is deprecated. Use R0 instead [static] int r180Description: Angle/mirror code for the "rotated by 180 degree counterclockwise" transformation Use of this method is deprecated. Use R180 instead [static] int r270Description: Angle/mirror code for the "rotated by 270 degree counterclockwise" transformation Use of this method is deprecated. Use R270 instead [static] int r90Description: Angle/mirror code for the "rotated by 90 degree counterclockwise" transformation Use of this method is deprecated. Use 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). Python specific notes:The object exposes a readable attribute 'rot'. This is the getter. void rot=(int r)Description: Sets the angle/mirror code
This method was introduced in version 0.20. Python specific notes:The object exposes a writable attribute 'rot'. This is the setter. [const] string to_sDescription: String conversion Python specific notes:This method is also available as 'str(object)' [const] DPoint trans(const DPoint p)Description: The transformation of a point
The "trans" method transforms the given point. q = t(p) |