Quaed properties output pins

hi !
it would be vvvvery great to have an equivalent of getsize() function in output pins of a quad: its position and its size.

you can get the position out of the transformation matrix again with ApplyTransform (Transform) or ApplyTransform (Transform Vector) .
For the size: Have a look at the GetMatrix (Transform) Helppatch and try to understand :) (i guess it’s not possible to get the size, right?)

applytransform.v4p (4.3 kB)

oh, didn’t see this thraéd…

maybe vux-plugins-cvstructural is valuable here

hi phl thanks for this way of using apply transform.

helas, getsize is the most important point i would like to get back.
after a set of spreads and transformations, it would be great to have an output of the following of a quad:
-x and y position, x and y size

kalle: didnt figure what would help me in this Matrix … ?:-°

Get size why ?
to adjust events and sizes of this events fitting to the quad and its proportions.
means you dont have to calculate a ratio of your events to fit in the quad, you take the output of the quad and play with your events from it.

if no projection or arbitrary transform is involved in your transform hierarchy then position and scaling can be retrieved.

however retrieving rotation at least should be more difficult.

applytransform.v4p (39.9 kB)

oh well

seems to be my matrix transform day…

edit: didn’t we handle this topic several times in this forum and always had some web resource on hand proving that this is impossible? not?

retrieveTSR.zip (4.3 kB)

ha… thanks a lot ! this enables a good relativ to quad handling ! merci beaucoup gregsn !

by personnal curiosity, i would like to ask you Why this is impossible to code ?

second, is it possible that you send me back the patch you sended last time ? links were going to your desktop for nodes. so i have all connections broken.

ey catristouf,

i thought you know HowTo edit wrong Paths quickly.
but anyway it’s good to advise the devvvvs to take care of paths.

hey Kalle ; didnt get any patience with it… labourous way …
after one hour, I getted of… :-(


by personnal curiosity, i would like to ask you Why this is impossible to code ?

well it now seems to be possible to code. however this module is also a fine thing for now, not?

extractTSR.zip (7.3 kB)

hi gregsn. many many many thanks.

. however this module is also a fine thing for now, not?

yeap. you are right. but could be also very elegant and strongest ( no sub sub sub subpatches) that this function could be from quad output.
but nevermind, you gave us a great tool about relatives coordonates, and thats good ;-)

merci for your time !

an happy karistouf


gresgn is the undisputed king of transformations.

some little thoughts for improvement:
what about
**GetTransform (Transform)
**DeTranform (Transform)
**Decode (Transform)

although i somehow like the (dot) as separator i’d suggest to stick to the exact naming of related existing pins of ‘hardcoded’ nodes. means
Scale XYZ
instead of

and further i was astonished by this wonderful inverse rotation on the renderers viewport…

wow! great module gregsn. can be read as a lesson on 3D transforms. thumbs up!

Wow indeed :) tx!

i’m very sorry, but as soon as you connect another Scale above its not working anymore… the web sources remain correct…

retrieveTSR.rar (3.9 kB)

hey tonfilm,

yes, true, good to know…

it only works when the transform still can be seen as an cartesian coordinate system, so when still all three axis are perpendicular to each other.

otherwise you have a shear component in the matrix.
just by rotating and scaling in a special order you get that shearing effect. (edit: but most of the time you don’t want to distort an object, but just place it somewhere)

the module can only restore scale, rotate & translate (to be applied in that order). however the nice thing is that as long as the transform stays “cartesian” the module will work (afaik). to get such a valid transform, the hierarchy of rotates and translates can be arbitrary (as shown in the tester patch). only the scale should always stay underneath any rotate node within your transform hierarchy.

edit: scale nodes should also stay underneath any Transform node having a rotational effect (e.g. Transform (Transform 3d Vector) has a rotation pin).