[x3d-public] SFRotation constructor axis argument by reference orvalue ?

Joseph D Williams joedwil at earthlink.net
Thu Mar 5 13:04:23 PST 2020


➢ So I would guess for ecmascript it should
be rot.y = 1.0

me too because rot values can be set as rot.x rot.y rot.z and rot.a 
and axis can be set by by axis.x  axis.y and axis.z
so in this example the last one set is the final value. 
Joe

From: Andreas Plesch
Sent: Tuesday, March 3, 2020 7:08 AM
To: X3D Graphics public mailing list
Subject: [x3d-public] SFRotation constructor axis argument by reference orvalue ?

In the ecmascript SAI, SFRotation has a constructor which has the
rotation axis as a SFVec3f argument:

new SFRotation ( SFVec3f axis, numeric  angle )

https://www.web3d.org/documents/specifications/19777-1/V3.3/Part1/functions.html#SFRotation
(Table 7.18, -url in the first sentence is off-)

The question is when I make a new SFRotation and later change the
SFVec3f which was used for the axis, does the previously constructed
SFRotation also change ?

axis = new SFVec3f ( 0, 0, 1 );
rot = new SFRotation( axis, 3.14 );
axis.y = 1.0
axis.z = 0.0
// rot.y is ?
// constructed by value: rot.y = 0.0
// constructed by reference: rot.y = 1.0

I did not check the abstract SAI spec. for guidance so it is very
possible I missed something.

This is just an example. There are of course other constructors which
use objects as parameters. It is also probably rare that a script
would want to do this.

It may depend on the scripting language. In ecmascript objects are
passed by reference, you have to explicitly make a copy if you need
it. This is for performance. So I would guess for ecmascript it should
be rot.y = 1.0 .

-Andreas


-- 
Andreas Plesch
Waltham, MA 02453

_______________________________________________
x3d-public mailing list
x3d-public at web3d.org
http://web3d.org/mailman/listinfo/x3d-public_web3d.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200305/8918cc3d/attachment.html>


More information about the x3d-public mailing list