build object with JAVASCRIPT 
Author Message
 build object with JAVASCRIPT

hallo VRML-folks,

please, can anybody help me?

i want to create an object which will depends on a number-value
like we say in words "build five balls".

so i found some code like this:

FIRST:
=====

DEF linerGroup Group {}
         Script {
                 directOutput TRUE
                 field   SFInt32         numberOfSpheres IS
numberOfSpheres
                 field   SFNode        linerGroup USE linerGroup
                 field   SFFloat         spacing IS spacing
                 field   MFNode       accumulatedTransforms []

                 url "javascript:
                         function initialize() {
                                 sphereString = 'Transform { '+
                                                                  '
children [ '+

'               Shape { '+

'                       appearance Appearance { '+

'                               material Material { '+

'                                       diffuseColor 1 0 0 '+

'                               } '+

'                       } '+

'                       geometry Sphere {} '+

'               } '+
                                                                 '
] '+
                                                                 '} ';
                                 for(i=0;i<numberOfSpheres;i++) {
                                         xform = new MFNode();
                                         xform =
Browser.createVrmlFromString(sphereString);

                                         xform[0].set_translation = new
SFVec3f(spacing*i,0,0);
                                         accumulatedTransforms[i] =
xform[0];

                                 }
                                 linerGroup.addChildren =
accumulatedTransforms;

                         }
                 "
         }

but i want to use something like this:

SECOND:
========

DEF aGroup Group {}
 Script {
      directOutput TRUE
      field   SFInt32         numOfObjects IS numOfObjects
      field   SFNode          myGroup USE aGroup
      field   SFFloat         spacing IS spacing
      field   MFNode          accumulatedTransforms []
      field   MFNode          myNode IS theNode

      url "javascript:
      function initialize() {
         accumulatedTransforms.length = numOfObjects
         for(i=0;i<numOfObjects;i++) {
            aNewNode = new MFNode(myNode[0]);
            aNewNode[0].translation.x = spacing*i;
            aNewNode[0].translation.y = 0;
            aNewNode[0].translation.z = 0;
            accumulatedTransforms[i] = aNewNode[0] ;
         }
         myGroup.addChildren = accumulatedTransforms ;
       }"
 }

in the field "theNode" there is somthing like this:

Transform {
           children [
                   Shape {
                           appearance Appearance {
                                   material Material {
                                           diffuseColor 1 0 0
                                   }
                           }
                           geometry Sphere {}
                   }
           ]
  }

the code of the second one is without errors, but when i trial to build
5 Sphere's
i'll get only the last sphere with his correct translation-values.
where are the other four sphere's?

I don't know why i couldn't copy some Nodes.

can someone help me please?

peter

  vcard.vcf
< 1K Download


Tue, 03 Jul 2001 03:00:00 GMT  
 build object with JAVASCRIPT

hallo VRML-folks,

please, can anybody help me?

i want to create an object which will depends on a number-value
like we say in words "build five balls".

so i found some code like this:

FIRST:
=====

DEF linerGroup Group {}
         Script {
                 directOutput TRUE
                 field   SFInt32         numberOfSpheres IS
numberOfSpheres
                 field   SFNode        linerGroup USE linerGroup
                 field   SFFloat         spacing IS spacing
                 field   MFNode       accumulatedTransforms []

                 url "javascript:
                         function initialize() {
                                 sphereString = 'Transform { '+
                                                                  '
children [ '+

'               Shape { '+

'                       appearance Appearance { '+

'                               material Material { '+

'                                       diffuseColor 1 0 0 '+

'                               } '+

'                       } '+

'                       geometry Sphere {} '+

'               } '+
                                                                 '
] '+
                                                                 '} ';
                                 for(i=0;i<numberOfSpheres;i++) {
                                         xform = new MFNode();
                                         xform =
Browser.createVrmlFromString(sphereString);

                                         xform[0].set_translation = new
SFVec3f(spacing*i,0,0);
                                         accumulatedTransforms[i] =
xform[0];

                                 }
                                 linerGroup.addChildren =
accumulatedTransforms;

                         }
                 "
         }

but i want to use something like this:

SECOND:
========

DEF aGroup Group {}
 Script {
      directOutput TRUE
      field   SFInt32         numOfObjects IS numOfObjects
      field   SFNode          myGroup USE aGroup
      field   SFFloat         spacing IS spacing
      field   MFNode          accumulatedTransforms []
      field   MFNode          myNode IS theNode

      url "javascript:
      function initialize() {
         accumulatedTransforms.length = numOfObjects
         for(i=0;i<numOfObjects;i++) {
            aNewNode = new MFNode(myNode[0]);
            aNewNode[0].translation.x = spacing*i;
            aNewNode[0].translation.y = 0;
            aNewNode[0].translation.z = 0;
            accumulatedTransforms[i] = aNewNode[0] ;
         }
         myGroup.addChildren = accumulatedTransforms ;
       }"
 }

in the field "theNode" there is somthing like this:

Transform {
           children [
                   Shape {
                           appearance Appearance {
                                   material Material {
                                           diffuseColor 1 0 0
                                   }
                           }
                           geometry Sphere {}
                   }
           ]
  }

the code of the second one is without errors, but when i trial to build
5 Sphere's
i'll get only the last sphere with his correct translation-values.
where are the other four sphere's?

I don't know why i couldn't copy some Nodes.

can someone help me please?

peter

  vcard.vcf
< 1K Download


Tue, 03 Jul 2001 03:00:00 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. Object Structures - Building Object-Oriented Software Components with Eiffel- By Jacob Gore

2. Why Object-Oriented JavaScript is ideal for GOFAI

3. generate complex objects with JAVASCRIPT

4. change object color using Javascript, HELP!

5. newby: Timeout error when using javascript confirm object

6. IE6 +VRML + javascript in VRML trouble (was: problem using javascript window.open in VRML)

7. Smalltalk Community Opinions (was Re: Building a string from incompatible objects)

8. Building a string from incompatible objects.

9. Object Database built in RDBMS

10. Building Linux shared object (so)

11. How build a global VI with several objects?

12. Build OS/2 Printer Object

 

 
Powered by phpBB® Forum Software