I also reuse instances of classes such as Vector3f, etc.  But I was
wondering where is the best place/time to initialize those classes??

I have noticed that a) I can initialize the vecmath classes in a
constructor OR b) also at the same place where the vecmath class is
declared.

So for example... i could declare a global vector3f like this:
Vector3f scratchVector3f = new Vector3f();
OR.. more traditionally by making a global reference
Vector3f scratchVector3f;
and then initializing it in the constructor...
scratchVector3f = new Vector3f();

WHAT is the difference?? if any??

Ian

On Sat, 26 Jul 2003, Lewis Walker wrote:

> I think the reason that the methods are destructive to the operands is
> for performance. To be non-destructive would require the overhead of
> creating a new instance of a Vector3D for each operation to store the
> result. An approach worth bearing in mind for your own code - reuse the
> same instances of Classes like Vector3D etc. I do some complex vector
> algebra in one of my programs, and I pre-initialise thirty or so Vectors
> and Matrices, so that I never have to create a new instance during the
> calculations - it is MUCH faster this way!!
>
> Lewis.
>
> -----Original Message-----
> From: Discussion list for Java 3D API
> [mailto:[EMAIL PROTECTED] On Behalf Of Steven T. Hatton
> Sent: 26 July 2003 19:34
> To: [EMAIL PROTECTED]
> Subject: [JAVA3D] Is javax.vecmath Inelegant?
>
>
> I've already posted my gripe about the Canvas3D stubbornness. Another
> thing I find distasteful in the Java3D SDK is the javax.vecmath api.
> Why on the greenswords of Midgard did anybody make all these methods
> return void? Is there a pragmatic reason for this? I hate it!  If I
> could do things like
> this:
> Vector3d v = new Vector3d();
> return v.add(v1,v2);
>
> I would use a good deal less profanity when writing Java3D code.
> Perhaps there is a different paradigm I need to grasp in order to
> understand the advantange to doing things this way.
>
> Personally, I would rather the mathematical operations were
> nondestructive; that is, they left the operands alone.  My guess is,
> that is so far out of the realm of realistic modifications to the api
> that it's not worth discussing.
>
> Could the javax.vecmath package be modified to make the operators return
> the result, rather than void?
>
> BTW, is the source available somewhere for this stuff?  I fetched the
> stuff at j3d.org's cvs, but it looks to be all addon stuff.  I haven't
> looked really closely, but all I see is a src/org/... branch in the
> source tree.
>
> Steven
>
> ========================================================================
> ===
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
> body of the message "signoff JAVA3D-INTEREST".  For general help, send
> email to [EMAIL PROTECTED] and include in the body of the message
> "help".
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff JAVA3D-INTEREST".  For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".
>
>

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to