Using NumberValue returns a double.
       double x = args[0]-> NumberValue();
       double y = args[1]-> NumberValue();
       double z = args[2]-> NumberValue();

Rgards,
Søren

On Fri, Nov 21, 2008 at 4:23 PM, vlad <[EMAIL PROTECTED]> wrote:

>
> What is the best way to extract float variables from a Javascript
> function call.
> The javascript would look something like this:
> =========
> ------------------
> var point = new Point(2.5, 7.1, 4.8);
> ------------------
> =========
>
> The C++ currently look something like this:
>
> =========
> ------------------
> v8::Handle<v8::Value> jsi_Point_construct(const v8::Arguments& args)
> {
>        v8::HandleScope handleScope;
>
>        if (!args.IsConstructCall()) {
>                return v8::ThrowException(v8::String::New("Point: Cannot
> call
> constructor as function."));
>        }
>
>        if (args.Length() != 3) {
>                return v8::ThrowException(v8::String::New("Point:
> Constructor takes
> 3 arguments."));
>        }
>
>
>        float x = static_cast<float>(args[0]->Int32Value());
>        float y = static_cast<float>(args[1]->Int32Value());
>        float z = static_cast<float>(args[2]->Int32Value());
>
>        Point3D* point = new Point3D(x, y, z);
>
>        // make a persistant handle for the instance and
>        // make it weak so we get a callback on destruction
>        v8::Persistent<v8::Object> self = v8::Persistent<v8::Object>::New
> (args.Holder());
>        self.MakeWeak(point, jsi_Point_destruct);
>
>        self->SetInternalField(0, v8::External::New(point));
>
>        return self;
> }
> ------------------
> =========
>
> Thanks for any help
> >
>

--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to