Le 27/4/15 09:36, Ronie Salgado a écrit :
Hello Mr. Lusa,
Sorry for not answering earlier, I added the missing support for the
rotations by adding some methods that changes the internal scene node
orientation. I also did a small refactoring in the support for
orientation, because I received email with an implementation of
quaternions that I have review and integrate during the week.
Nice nice nice.
It was good that I mentioned to the rmoders than serge got quaternions :)
Try the following in the playground:
v := RWView new.
element := RWCube element.
element rotateByXDegrees: 60.
v add: element.
v open.
Best regards,
Ronie
2015-04-27 3:55 GMT-03:00 Lusa Nicolas <nicolas.l...@usi.ch
<mailto:nicolas.l...@usi.ch>>:
Hello mr. Bergel,
I actually have done something really simple. On the construction
of a cube shape in WDGeometryBuilder I simply made a method
looking as follows: WDGeometryBuilder>>#addCubeWithWidth: height:
depth: rotatedBy: .
In the method I simply use the angle to compute the rotation when
creating every single triangle (rotating every point of such
triangle with respect to the y axis).
It would work smoothly if only few shapes would have been
instantiated but unfortunately this results in a severe drop of
performance since a new shape is created for every instance of an
object (because the angle rotation is different for each shape).
If you still want the code I wrote for such rotation I can provide
it to you, but probably that's not how proper rotations should be
performed in woden.
Hopefully we can find a better solution that doesn't influence
performance in such way.
Cheers,
Nicolas
P.S. I apologize for the misleading subject of the mail. I am not
using Roassal3d but I am using a package called Woden-Roassal,
which works almost exactly like Roassal3d (in fact I guess they
are related somehow), that is in the Woden project as default. A
more appropriate e-mail subject would have been: Woden-Roassal (3d
object rotations).
On Apr 24, 2015, at 10:49 PM, Alexandre Bergel
<alexandre.ber...@me.com <mailto:alexandre.ber...@me.com>>
wrote:
Hi Lusa,
Well spotted!
I worked on the connection Woden <—> Roassal3d. I should be able
to hook your rotation into roassal. Can you provide your fix for
the rotation please?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu <http://www.bergel.eu/>
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Apr 22, 2015, at 9:07 AM, Lusa Nicolas <nicolas.l...@usi.ch
<mailto:nicolas.l...@usi.ch>> wrote:
Hi,
I am still working with Woden, in particular with Woden-Roassal
and I noticed that rotations on objects are missing (I feel that
this is weird that it doesn't have such feature so I am not
excluding that I can be wrong but I didn't manage to find
anything in the code to rotate objects).
Now if I would like to rotate objects it wouldn't be too bad if
I were using Woden at his "lowest layer" but I am actually
building cubes with Woden-Roassal and there I get lost.
I already made some rotations on Woden built arbitrary objects,
now I would like to extend it to objects built from
Woden-Roassal but I honestly miss on finding the connection
between the two.
I saw that the base shape is built in:
RWCube>>#createBaseShapeNode, I would be able to build a rotated
shape from there but that would result in all shapes being
rotated in such way since in
RWSimpleShape>>#buildRenderableFor:view: when we select the shape:
baseShape := aView baseShapeNodeNamed: self baseShapeName
ifAbsentPut: [ self createBaseShapeNode ].
we would get back the previous base shape defined.
Any suggestions on how to do it?
Cheers,
Nicolas