Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 88970
Collapse All | Expand All

(-)src/libopenvrml/openvrml/ScriptJDK.cpp (-284 / +284 lines)
Lines 393-399 Link Here
393
 */
393
 */
394
void ScriptJDK::initialize(const double timestamp)
394
void ScriptJDK::initialize(const double timestamp)
395
{
395
{
396
  const sftime arg(timestamp);
396
  const openvrml::sftime arg(timestamp);
397
  const field_value * argv[] = { &arg };
397
  const field_value * argv[] = { &arg };
398
  this->activate(timestamp, "initialize", 1, argv);
398
  this->activate(timestamp, "initialize", 1, argv);
399
}
399
}
Lines 409-415 Link Here
409
                              const field_value & value,
409
                              const field_value & value,
410
                              const double timestamp)
410
                              const double timestamp)
411
{
411
{
412
  const sftime timestampArg(timestamp);
412
  const openvrml::sftime timestampArg(timestamp);
413
  const field_value * argv[] = { &value, &timestampArg };
413
  const field_value * argv[] = { &value, &timestampArg };
414
  this->activate(timestamp, id, 2, argv);
414
  this->activate(timestamp, id, 2, argv);
415
}
415
}
Lines 421-427 Link Here
421
 */
421
 */
422
void ScriptJDK::events_processed(const double timestamp)
422
void ScriptJDK::events_processed(const double timestamp)
423
{
423
{
424
  const sftime arg(timestamp);
424
  const openvrml::sftime arg(timestamp);
425
  const field_value * argv[] = { &arg };
425
  const field_value * argv[] = { &arg };
426
  this->activate(timestamp, "eventsProcessed", 1, argv);
426
  this->activate(timestamp, "eventsProcessed", 1, argv);
427
}
427
}
Lines 434-440 Link Here
434
 */
434
 */
435
void ScriptJDK::shutdown(const double timestamp)
435
void ScriptJDK::shutdown(const double timestamp)
436
{
436
{
437
  const sftime arg(timestamp);
437
  const openvrml::sftime arg(timestamp);
438
  const field_value * argv[] = { &arg };
438
  const field_value * argv[] = { &arg };
439
  this->activate(timestamp, "shutdown", 1, argv);
439
  this->activate(timestamp, "shutdown", 1, argv);
440
}
440
}
Lines 507-551 Link Here
507
    case field_value::invalid_type_id:
507
    case field_value::invalid_type_id:
508
      return NULL;
508
      return NULL;
509
    case field_value::sfbool_id:
509
    case field_value::sfbool_id:
510
      return new sfbool;
510
      return new openvrml::sfbool;
511
    case field_value::sfcolor_id:
511
    case field_value::sfcolor_id:
512
      return new sfcolor;
512
      return new openvrml::sfcolor;
513
    case field_value::sffloat_id:
513
    case field_value::sffloat_id:
514
      return new sffloat;
514
      return new openvrml::sffloat;
515
    case field_value::sfimage_id:
515
    case field_value::sfimage_id:
516
      return new sfimage;
516
      return new sfimage;
517
    case field_value::sfint32_id:
517
    case field_value::sfint32_id:
518
      return new sfint32;
518
      return new openvrml::sfint32;
519
    case field_value::sfnode_id:
519
    case field_value::sfnode_id:
520
      return new sfnode;
520
      return new sfnode;
521
    case field_value::sfrotation_id:
521
    case field_value::sfrotation_id:
522
      return new sfrotation;
522
      return new openvrml::sfrotation;
523
    case field_value::sfstring_id:
523
    case field_value::sfstring_id:
524
      return new sfstring;
524
      return new sfstring;
525
    case field_value::sftime_id:
525
    case field_value::sftime_id:
526
      return new sftime;
526
      return new openvrml::sftime;
527
    case field_value::sfvec2f_id:
527
    case field_value::sfvec2f_id:
528
      return new sfvec2f;
528
      return new openvrml::sfvec2f;
529
    case field_value::sfvec3f_id:
529
    case field_value::sfvec3f_id:
530
      return new sfvec3f;
530
      return new openvrml::sfvec3f;
531
    case field_value::mfcolor_id:
531
    case field_value::mfcolor_id:
532
      return new mfcolor;
532
      return new openvrml::mfcolor;
533
    case field_value::mffloat_id:
533
    case field_value::mffloat_id:
534
      return new mffloat;
534
      return new openvrml::mffloat;
535
    case field_value::mfint32_id:
535
    case field_value::mfint32_id:
536
      return new mfint32;
536
      return new openvrml::mfint32;
537
    case field_value::mfnode_id:
537
    case field_value::mfnode_id:
538
      return new mfnode;
538
      return new openvrml::mfnode;
539
    case field_value::mfrotation_id:
539
    case field_value::mfrotation_id:
540
      return new mfrotation;
540
      return new openvrml::mfrotation;
541
    case field_value::mfstring_id:
541
    case field_value::mfstring_id:
542
      return new mfstring;
542
      return new openvrml::mfstring;
543
    case field_value::mftime_id:
543
    case field_value::mftime_id:
544
      return new mftime;
544
      return new openvrml::mftime;
545
    case field_value::mfvec2f_id:
545
    case field_value::mfvec2f_id:
546
      return new mfvec2f;
546
      return new openvrml::mfvec2f;
547
    case field_value::mfvec3f_id:
547
    case field_value::mfvec3f_id:
548
      return new mfvec3f;
548
      return new openvrml::mfvec3f;
549
    default:
549
    default:
550
      return NULL;
550
      return NULL;
551
  }
551
  }
Lines 620-626 Link Here
620
    try {
620
    try {
621
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
621
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
622
        if (!fid) { return; }
622
        if (!fid) { return; }
623
        std::auto_ptr<sfbool> sfbool(new sfbool(value));
623
        std::auto_ptr<openvrml::sfbool> sfbool(new openvrml::sfbool(value));
624
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfbool.release()));
624
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfbool.release()));
625
    } catch (std::bad_alloc & ex) {
625
    } catch (std::bad_alloc & ex) {
626
        env->ExceptionDescribe();
626
        env->ExceptionDescribe();
Lines 644-650 Link Here
644
jboolean JNICALL Java_vrml_field_ConstSFBool_getValue(JNIEnv * env,
644
jboolean JNICALL Java_vrml_field_ConstSFBool_getValue(JNIEnv * env,
645
                                                      jobject obj)
645
                                                      jobject obj)
646
{
646
{
647
    sfbool * sfb = static_cast<sfbool *>(getFieldValue(env, obj));
647
    openvrml::sfbool * sfb = static_cast<openvrml::sfbool *>(getFieldValue(env, obj));
648
    if (!sfb) { return false; }
648
    if (!sfb) { return false; }
649
    return sfb->value;
649
    return sfb->value;
650
}
650
}
Lines 699-705 Link Here
699
                                                jobject obj,
699
                                                jobject obj,
700
                                                jboolean value)
700
                                                jboolean value)
701
{
701
{
702
    sfbool * sfb = static_cast<sfbool *>(getFieldValue(env, obj));
702
    openvrml::sfbool * sfb = static_cast<openvrml::sfbool *>(getFieldValue(env, obj));
703
    if (!sfb) { return; }
703
    if (!sfb) { return; }
704
    sfb->value = value;
704
    sfb->value = value;
705
}
705
}
Lines 715-722 Link Here
715
Java_vrml_field_SFBool_setValue__Lvrml_field_ConstSFBool_2
715
Java_vrml_field_SFBool_setValue__Lvrml_field_ConstSFBool_2
716
  (JNIEnv *env, jobject obj, jobject value)
716
  (JNIEnv *env, jobject obj, jobject value)
717
{
717
{
718
  sfbool* newsfbool = static_cast<sfbool*>(getFieldValue(env, value));
718
  openvrml::sfbool* newsfbool = static_cast<openvrml::sfbool*>(getFieldValue(env, value));
719
  sfbool* sfb = static_cast<sfbool*>(getFieldValue(env, obj));
719
  openvrml::sfbool* sfb = static_cast<openvrml::sfbool*>(getFieldValue(env, obj));
720
  if (!newsfbool || !sfb) return;
720
  if (!newsfbool || !sfb) return;
721
  sfb->value = newsfbool->value;
721
  sfb->value = newsfbool->value;
722
}
722
}
Lines 763-769 Link Here
763
    try {
763
    try {
764
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
764
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
765
        if (!fid) { return; }
765
        if (!fid) { return; }
766
        std::auto_ptr<sfcolor> sfcolor(new sfcolor(color(r, g, b)));
766
        std::auto_ptr<openvrml::sfcolor> sfcolor(new openvrml::sfcolor(color(r, g, b)));
767
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfcolor.release()));
767
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfcolor.release()));
768
    } catch (std::bad_alloc & ex) {
768
    } catch (std::bad_alloc & ex) {
769
        env->ExceptionDescribe();
769
        env->ExceptionDescribe();
Lines 788-794 Link Here
788
                                                   jobject obj,
788
                                                   jobject obj,
789
                                                   jfloatArray jarr)
789
                                                   jfloatArray jarr)
790
{
790
{
791
    sfcolor * sfc = static_cast<sfcolor*>(getFieldValue(env, obj));
791
    openvrml::sfcolor * sfc = static_cast<openvrml::sfcolor*>(getFieldValue(env, obj));
792
    if (!sfc) { return; }
792
    if (!sfc) { return; }
793
    env->SetFloatArrayRegion(jarr, 0, 3,
793
    env->SetFloatArrayRegion(jarr, 0, 3,
794
                             const_cast<float *>(&sfc->value[0]));
794
                             const_cast<float *>(&sfc->value[0]));
Lines 803-809 Link Here
803
 */
803
 */
804
jfloat JNICALL Java_vrml_field_ConstSFColor_getRed(JNIEnv * env, jobject obj)
804
jfloat JNICALL Java_vrml_field_ConstSFColor_getRed(JNIEnv * env, jobject obj)
805
{
805
{
806
    sfcolor * sfc = static_cast<sfcolor *>(getFieldValue(env, obj));
806
    openvrml::sfcolor * sfc = static_cast<openvrml::sfcolor *>(getFieldValue(env, obj));
807
    if (!sfc) { return 0.0; }
807
    if (!sfc) { return 0.0; }
808
    return sfc->value.r();
808
    return sfc->value.r();
809
}
809
}
Lines 818-824 Link Here
818
jfloat JNICALL Java_vrml_field_ConstSFColor_getGreen(JNIEnv * env,
818
jfloat JNICALL Java_vrml_field_ConstSFColor_getGreen(JNIEnv * env,
819
                                                     jobject obj)
819
                                                     jobject obj)
820
{
820
{
821
    sfcolor * sfc = static_cast<sfcolor *>(getFieldValue(env, obj));
821
    openvrml::sfcolor * sfc = static_cast<openvrml::sfcolor *>(getFieldValue(env, obj));
822
    if (!sfc) { return 0.0; }
822
    if (!sfc) { return 0.0; }
823
    return sfc->value.g();
823
    return sfc->value.g();
824
}
824
}
Lines 832-838 Link Here
832
 */
832
 */
833
jfloat JNICALL Java_vrml_field_ConstSFColor_getBlue(JNIEnv * env, jobject obj)
833
jfloat JNICALL Java_vrml_field_ConstSFColor_getBlue(JNIEnv * env, jobject obj)
834
{
834
{
835
    sfcolor * sfc = static_cast<sfcolor *>(getFieldValue(env, obj));
835
    openvrml::sfcolor * sfc = static_cast<openvrml::sfcolor *>(getFieldValue(env, obj));
836
    if (!sfc) { return 0.0; }
836
    if (!sfc) { return 0.0; }
837
    return sfc->value.b();
837
    return sfc->value.b();
838
}
838
}
Lines 928-934 Link Here
928
                                                   jobject obj,
928
                                                   jobject obj,
929
                                                   jfloatArray jarr)
929
                                                   jfloatArray jarr)
930
{
930
{
931
    sfcolor * sfc = static_cast<sfcolor *>(getFieldValue(env, obj));
931
    openvrml::sfcolor * sfc = static_cast<openvrml::sfcolor *>(getFieldValue(env, obj));
932
    if (!sfc) { return; }
932
    if (!sfc) { return; }
933
    jfloat * pjf = env->GetFloatArrayElements(jarr, NULL);
933
    jfloat * pjf = env->GetFloatArrayElements(jarr, NULL);
934
    sfc->value = color(pjf[0], pjf[1], pjf[2]);
934
    sfc->value = color(pjf[0], pjf[1], pjf[2]);
Lines 947-953 Link Here
947
void JNICALL Java_vrml_field_SFColor_setValue__FFF
947
void JNICALL Java_vrml_field_SFColor_setValue__FFF
948
  (JNIEnv *env, jobject obj, jfloat r, jfloat g, jfloat b)
948
  (JNIEnv *env, jobject obj, jfloat r, jfloat g, jfloat b)
949
{
949
{
950
    sfcolor* sfc = static_cast<sfcolor*>(getFieldValue(env, obj));
950
    openvrml::sfcolor* sfc = static_cast<openvrml::sfcolor*>(getFieldValue(env, obj));
951
    if (!sfc) { return; }
951
    if (!sfc) { return; }
952
    sfc->value = color(r, g, b);
952
    sfc->value = color(r, g, b);
953
}
953
}
Lines 963-970 Link Here
963
Java_vrml_field_SFColor_setValue__Lvrml_field_ConstSFColor_2
963
Java_vrml_field_SFColor_setValue__Lvrml_field_ConstSFColor_2
964
  (JNIEnv *env, jobject obj, jobject value)
964
  (JNIEnv *env, jobject obj, jobject value)
965
{
965
{
966
    sfcolor* newSFColor = static_cast<sfcolor*>(getFieldValue(env, value));
966
    openvrml::sfcolor* newSFColor = static_cast<openvrml::sfcolor*>(getFieldValue(env, value));
967
    sfcolor* sfc = static_cast<sfcolor*>(getFieldValue(env, obj));
967
    openvrml::sfcolor* sfc = static_cast<openvrml::sfcolor*>(getFieldValue(env, obj));
968
    if (!newSFColor || !sfc) return;
968
    if (!newSFColor || !sfc) return;
969
    sfc->value = newSFColor->value;
969
    sfc->value = newSFColor->value;
970
}
970
}
Lines 1010-1016 Link Here
1010
    try {
1010
    try {
1011
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
1011
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
1012
        if (!fid) { return; }
1012
        if (!fid) { return; }
1013
        std::auto_ptr<sffloat> sffloat(new sffloat(value));
1013
        std::auto_ptr<openvrml::sffloat> sffloat(new openvrml::sffloat(value));
1014
        env->SetIntField(obj, fid, reinterpret_cast<int>(sffloat.release()));
1014
        env->SetIntField(obj, fid, reinterpret_cast<int>(sffloat.release()));
1015
    } catch (std::bad_alloc & ex) {
1015
    } catch (std::bad_alloc & ex) {
1016
        env->ExceptionDescribe();
1016
        env->ExceptionDescribe();
Lines 1034-1040 Link Here
1034
jfloat JNICALL Java_vrml_field_ConstSFFloat_getValue(JNIEnv * env,
1034
jfloat JNICALL Java_vrml_field_ConstSFFloat_getValue(JNIEnv * env,
1035
                                                     jobject obj)
1035
                                                     jobject obj)
1036
{
1036
{
1037
    sffloat * sff = static_cast<sffloat *>(getFieldValue(env, obj));
1037
    openvrml::sffloat * sff = static_cast<openvrml::sffloat *>(getFieldValue(env, obj));
1038
    if (!sff) { return 0.0; }
1038
    if (!sff) { return 0.0; }
1039
    return sff->value;
1039
    return sff->value;
1040
}
1040
}
Lines 1089-1095 Link Here
1089
                                                 jobject obj,
1089
                                                 jobject obj,
1090
                                                 jfloat f)
1090
                                                 jfloat f)
1091
{
1091
{
1092
    sffloat * sff = static_cast<sffloat *>(getFieldValue(env, obj));
1092
    openvrml::sffloat * sff = static_cast<openvrml::sffloat *>(getFieldValue(env, obj));
1093
    if (!sff) { return; }
1093
    if (!sff) { return; }
1094
    sff->value = f;
1094
    sff->value = f;
1095
}
1095
}
Lines 1105-1112 Link Here
1105
Java_vrml_field_SFFloat_setValue__Lvrml_field_ConstSFFloat_2
1105
Java_vrml_field_SFFloat_setValue__Lvrml_field_ConstSFFloat_2
1106
  (JNIEnv *env, jobject obj, jobject value)
1106
  (JNIEnv *env, jobject obj, jobject value)
1107
{
1107
{
1108
    sffloat* sff = static_cast<sffloat*>(getFieldValue(env, obj));
1108
    openvrml::sffloat* sff = static_cast<openvrml::sffloat*>(getFieldValue(env, obj));
1109
    sffloat* newSFFloat = static_cast<sffloat*>(getFieldValue(env, value));
1109
    openvrml::sffloat* newSFFloat = static_cast<openvrml::sffloat*>(getFieldValue(env, value));
1110
    if (!sff || !newSFFloat) return;
1110
    if (!sff || !newSFFloat) return;
1111
    sff->value = newSFFloat->value;
1111
    sff->value = newSFFloat->value;
1112
}
1112
}
Lines 1404-1410 Link Here
1404
    try {
1404
    try {
1405
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
1405
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
1406
        if (!fid) { return; }
1406
        if (!fid) { return; }
1407
        std::auto_ptr<sfint32> sfint32(new sfint32(value));
1407
        std::auto_ptr<openvrml::sfint32> sfint32(new openvrml::sfint32(value));
1408
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfint32.release()));
1408
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfint32.release()));
1409
    } catch (std::bad_alloc & ex) {
1409
    } catch (std::bad_alloc & ex) {
1410
        env->ExceptionDescribe();
1410
        env->ExceptionDescribe();
Lines 1427-1433 Link Here
1427
 */
1427
 */
1428
jint JNICALL Java_vrml_field_ConstSFInt32_getValue(JNIEnv * env, jobject obj)
1428
jint JNICALL Java_vrml_field_ConstSFInt32_getValue(JNIEnv * env, jobject obj)
1429
{
1429
{
1430
    sfint32 * sfi = static_cast<sfint32*>(getFieldValue(env, obj));
1430
    openvrml::sfint32 * sfi = static_cast<openvrml::sfint32*>(getFieldValue(env, obj));
1431
    if (!sfi) { return 0; }
1431
    if (!sfi) { return 0; }
1432
    return jint(sfi->value);
1432
    return jint(sfi->value);
1433
}
1433
}
Lines 1475-1481 Link Here
1475
                                                 jobject obj,
1475
                                                 jobject obj,
1476
                                                 jint value)
1476
                                                 jint value)
1477
{
1477
{
1478
    sfint32 * sfi = static_cast<sfint32*>(getFieldValue(env, obj));
1478
    openvrml::sfint32 * sfi = static_cast<openvrml::sfint32*>(getFieldValue(env, obj));
1479
    if (!sfi) { return; }
1479
    if (!sfi) { return; }
1480
    sfi->value = value;
1480
    sfi->value = value;
1481
}
1481
}
Lines 1492-1499 Link Here
1492
                                                             jobject obj,
1492
                                                             jobject obj,
1493
                                                             jobject value)
1493
                                                             jobject value)
1494
{
1494
{
1495
    sfint32* sfi = static_cast<sfint32*>(getFieldValue(env, obj));
1495
    openvrml::sfint32* sfi = static_cast<openvrml::sfint32*>(getFieldValue(env, obj));
1496
    sfint32* newSFInt32 = static_cast<sfint32*>(getFieldValue(env, value));
1496
    openvrml::sfint32* newSFInt32 = static_cast<openvrml::sfint32*>(getFieldValue(env, value));
1497
    if (!sfi || !newSFInt32) return;
1497
    if (!sfi || !newSFInt32) return;
1498
    sfi->value = newSFInt32->value;
1498
    sfi->value = newSFInt32->value;
1499
}
1499
}
Lines 1694-1700 Link Here
1694
   jfloat axisZ, jfloat angle)
1694
   jfloat axisZ, jfloat angle)
1695
{
1695
{
1696
    try {
1696
    try {
1697
        std::auto_ptr<sfrotation> sfrotation(new sfrotation(rotation(axisX,
1697
        std::auto_ptr<openvrml::sfrotation> sfrotation(new openvrml::sfrotation(rotation(axisX,
1698
                                                                     axisY,
1698
                                                                     axisY,
1699
                                                                     axisZ,
1699
                                                                     axisZ,
1700
                                                                     angle)));
1700
                                                                     angle)));
Lines 1717-1723 Link Here
1717
                                                      jobject obj,
1717
                                                      jobject obj,
1718
                                                      jfloatArray jarr)
1718
                                                      jfloatArray jarr)
1719
{
1719
{
1720
    sfrotation * sfr = static_cast<sfrotation*>(getFieldValue(env, obj));
1720
    openvrml::sfrotation * sfr = static_cast<openvrml::sfrotation*>(getFieldValue(env, obj));
1721
    if (!sfr) { return; }
1721
    if (!sfr) { return; }
1722
    env->SetFloatArrayRegion(jarr, 0, 4,
1722
    env->SetFloatArrayRegion(jarr, 0, 4,
1723
                             const_cast<float *>(&sfr->value[0]));
1723
                             const_cast<float *>(&sfr->value[0]));
Lines 1761-1767 Link Here
1761
                                                      jobject obj,
1761
                                                      jobject obj,
1762
                                                      jfloatArray jarr)
1762
                                                      jfloatArray jarr)
1763
{
1763
{
1764
    sfrotation * sfr = static_cast<sfrotation*>(getFieldValue(env, obj));
1764
    openvrml::sfrotation * sfr = static_cast<openvrml::sfrotation*>(getFieldValue(env, obj));
1765
    if (!sfr) { return; }
1765
    if (!sfr) { return; }
1766
    jfloat * pjf = env->GetFloatArrayElements(jarr, NULL);
1766
    jfloat * pjf = env->GetFloatArrayElements(jarr, NULL);
1767
    sfr->value = rotation(pjf[0], pjf[1], pjf[2], pjf[3]);
1767
    sfr->value = rotation(pjf[0], pjf[1], pjf[2], pjf[3]);
Lines 1785-1791 Link Here
1785
                                                       jfloat axisZ,
1785
                                                       jfloat axisZ,
1786
                                                       jfloat angle)
1786
                                                       jfloat angle)
1787
{
1787
{
1788
    sfrotation * sfr = static_cast<sfrotation*>(getFieldValue(env, obj));
1788
    openvrml::sfrotation * sfr = static_cast<openvrml::sfrotation*>(getFieldValue(env, obj));
1789
    if (!sfr) { return; }
1789
    if (!sfr) { return; }
1790
    sfr->value = rotation(axisX, axisY, axisZ, angle);
1790
    sfr->value = rotation(axisX, axisY, axisZ, angle);
1791
}
1791
}
Lines 1803-1811 Link Here
1803
    jobject obj,
1803
    jobject obj,
1804
    jobject value)
1804
    jobject value)
1805
{
1805
{
1806
    sfrotation * sfr = static_cast<sfrotation*>(getFieldValue(env, obj));
1806
    openvrml::sfrotation * sfr = static_cast<openvrml::sfrotation*>(getFieldValue(env, obj));
1807
    sfrotation * newSFRotation =
1807
    openvrml::sfrotation * newSFRotation =
1808
        static_cast<sfrotation*>(getFieldValue(env, value));
1808
        static_cast<openvrml::sfrotation*>(getFieldValue(env, value));
1809
    if (!sfr || !newSFRotation) return;
1809
    if (!sfr || !newSFRotation) return;
1810
    sfr->value = newSFRotation->value;
1810
    sfr->value = newSFRotation->value;
1811
}
1811
}
Lines 1966-1972 Link Here
1966
  (JNIEnv *env, jobject obj, jdouble time)
1966
  (JNIEnv *env, jobject obj, jdouble time)
1967
{
1967
{
1968
    try {
1968
    try {
1969
        std::auto_ptr<sftime> sftime(new sftime(time));
1969
        std::auto_ptr<openvrml::sftime> sftime(new openvrml::sftime(time));
1970
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
1970
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
1971
        if (!fid) return;
1971
        if (!fid) return;
1972
        env->SetIntField(obj, fid, reinterpret_cast<int>(sftime.release()));
1972
        env->SetIntField(obj, fid, reinterpret_cast<int>(sftime.release()));
Lines 1991-1997 Link Here
1991
 */
1991
 */
1992
jdouble JNICALL Java_vrml_field_ConstSFTime_getValue(JNIEnv * env, jobject obj)
1992
jdouble JNICALL Java_vrml_field_ConstSFTime_getValue(JNIEnv * env, jobject obj)
1993
{
1993
{
1994
    sftime * sft = static_cast<sftime*>(getFieldValue(env, obj));
1994
    openvrml::sftime * sft = static_cast<openvrml::sftime*>(getFieldValue(env, obj));
1995
    if (!sft) { return 0.0; }
1995
    if (!sft) { return 0.0; }
1996
    return jdouble(sft->value);
1996
    return jdouble(sft->value);
1997
}
1997
}
Lines 2032-2038 Link Here
2032
                                                jobject obj,
2032
                                                jobject obj,
2033
                                                jdouble time)
2033
                                                jdouble time)
2034
{
2034
{
2035
    sftime * sft = static_cast<sftime*>(getFieldValue(env, obj));
2035
    openvrml::sftime * sft = static_cast<openvrml::sftime*>(getFieldValue(env, obj));
2036
    if (!sft) { return; }
2036
    if (!sft) { return; }
2037
    sft->value = time;
2037
    sft->value = time;
2038
}
2038
}
Lines 2042-2049 Link Here
2042
                                                           jobject obj,
2042
                                                           jobject obj,
2043
                                                           jobject value)
2043
                                                           jobject value)
2044
{
2044
{
2045
    sftime* sft = static_cast<sftime*>(getFieldValue(env, obj));
2045
    openvrml::sftime* sft = static_cast<openvrml::sftime*>(getFieldValue(env, obj));
2046
    sftime* newsftime = static_cast<sftime*>(getFieldValue(env, value));
2046
    openvrml::sftime* newsftime = static_cast<openvrml::sftime*>(getFieldValue(env, value));
2047
    if (!sft || !newsftime) { return; }
2047
    if (!sft || !newsftime) { return; }
2048
    sft->value = newsftime->value;
2048
    sft->value = newsftime->value;
2049
}
2049
}
Lines 2072-2078 Link Here
2072
  (JNIEnv *env, jobject obj, jfloat x, jfloat y)
2072
  (JNIEnv *env, jobject obj, jfloat x, jfloat y)
2073
{
2073
{
2074
    try {
2074
    try {
2075
        std::auto_ptr<sfvec2f> sfvec2f(new sfvec2f(vec2f(x, y)));
2075
        std::auto_ptr<openvrml::sfvec2f> sfvec2f(new openvrml::sfvec2f(vec2f(x, y)));
2076
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
2076
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
2077
        if (!fid) { return; }
2077
        if (!fid) { return; }
2078
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfvec2f.release()));
2078
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfvec2f.release()));
Lines 2099-2105 Link Here
2099
                                                   jobject obj,
2099
                                                   jobject obj,
2100
                                                   jfloatArray jarr)
2100
                                                   jfloatArray jarr)
2101
{
2101
{
2102
    sfvec2f * sfv = static_cast<sfvec2f *>(getFieldValue(env, obj));
2102
    openvrml::sfvec2f * sfv = static_cast<openvrml::sfvec2f *>(getFieldValue(env, obj));
2103
    if (!sfv) { return; }
2103
    if (!sfv) { return; }
2104
    env->SetFloatArrayRegion(jarr, 0, 2, const_cast<float *>(&sfv->value[0]));
2104
    env->SetFloatArrayRegion(jarr, 0, 2, const_cast<float *>(&sfv->value[0]));
2105
}
2105
}
Lines 2113-2119 Link Here
2113
 */
2113
 */
2114
jfloat JNICALL Java_vrml_field_ConstSFVec2f_getX(JNIEnv * env, jobject obj)
2114
jfloat JNICALL Java_vrml_field_ConstSFVec2f_getX(JNIEnv * env, jobject obj)
2115
{
2115
{
2116
    sfvec2f * sfv = static_cast<sfvec2f*>(getFieldValue(env, obj));
2116
    openvrml::sfvec2f * sfv = static_cast<openvrml::sfvec2f*>(getFieldValue(env, obj));
2117
    if (!sfv) { return 0.0; }
2117
    if (!sfv) { return 0.0; }
2118
    return sfv->value.x();
2118
    return sfv->value.x();
2119
}
2119
}
Lines 2127-2133 Link Here
2127
 */
2127
 */
2128
jfloat JNICALL Java_vrml_field_ConstSFVec2f_getY(JNIEnv * env, jobject obj)
2128
jfloat JNICALL Java_vrml_field_ConstSFVec2f_getY(JNIEnv * env, jobject obj)
2129
{
2129
{
2130
    sfvec2f * sfv = static_cast<sfvec2f*>(getFieldValue(env, obj));
2130
    openvrml::sfvec2f * sfv = static_cast<openvrml::sfvec2f*>(getFieldValue(env, obj));
2131
    if (!sfv) { return 0.0; }
2131
    if (!sfv) { return 0.0; }
2132
    return sfv->value.y();
2132
    return sfv->value.y();
2133
}
2133
}
Lines 2194-2200 Link Here
2194
                                                   jobject obj,
2194
                                                   jobject obj,
2195
                                                   jfloatArray jarr)
2195
                                                   jfloatArray jarr)
2196
{
2196
{
2197
    sfvec2f * sfv = static_cast<sfvec2f*>(getFieldValue(env, obj));
2197
    openvrml::sfvec2f * sfv = static_cast<openvrml::sfvec2f*>(getFieldValue(env, obj));
2198
    if (!sfv) return;
2198
    if (!sfv) return;
2199
    jfloat * pjf = env->GetFloatArrayElements(jarr, NULL);
2199
    jfloat * pjf = env->GetFloatArrayElements(jarr, NULL);
2200
    sfv->value = vec2f(pjf[0], pjf[1]);
2200
    sfv->value = vec2f(pjf[0], pjf[1]);
Lines 2206-2212 Link Here
2206
                                                  jfloat x,
2206
                                                  jfloat x,
2207
                                                  jfloat y)
2207
                                                  jfloat y)
2208
{
2208
{
2209
    sfvec2f * sfv = static_cast<sfvec2f*>(getFieldValue(env, obj));
2209
    openvrml::sfvec2f * sfv = static_cast<openvrml::sfvec2f*>(getFieldValue(env, obj));
2210
    if (!sfv) return;
2210
    if (!sfv) return;
2211
    sfv->value = vec2f(x, y);
2211
    sfv->value = vec2f(x, y);
2212
}
2212
}
Lines 2216-2223 Link Here
2216
                                                             jobject obj,
2216
                                                             jobject obj,
2217
                                                             jobject value)
2217
                                                             jobject value)
2218
{
2218
{
2219
    sfvec2f * sfv = static_cast<sfvec2f*>(getFieldValue(env, obj));
2219
    openvrml::sfvec2f * sfv = static_cast<openvrml::sfvec2f*>(getFieldValue(env, obj));
2220
    sfvec2f * newSFVec2f = static_cast<sfvec2f*>(getFieldValue(env, value));
2220
    openvrml::sfvec2f * newSFVec2f = static_cast<openvrml::sfvec2f*>(getFieldValue(env, value));
2221
    if (!sfv || !newSFVec2f) { return; }
2221
    if (!sfv || !newSFVec2f) { return; }
2222
    sfv->value = newSFVec2f->value;
2222
    sfv->value = newSFVec2f->value;
2223
}
2223
}
Lines 2250-2256 Link Here
2250
                                                       jfloat z)
2250
                                                       jfloat z)
2251
{
2251
{
2252
    try {
2252
    try {
2253
        std::auto_ptr<sfvec3f> sfvec3f(new sfvec3f(vec3f(x, y, z)));
2253
        std::auto_ptr<openvrml::sfvec3f> sfvec3f(new openvrml::sfvec3f(vec3f(x, y, z)));
2254
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
2254
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
2255
        if (!fid) { return; }
2255
        if (!fid) { return; }
2256
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfvec3f.release()));
2256
        env->SetIntField(obj, fid, reinterpret_cast<int>(sfvec3f.release()));
Lines 2277-2283 Link Here
2277
                                                   jobject obj,
2277
                                                   jobject obj,
2278
                                                   jfloatArray jarr)
2278
                                                   jfloatArray jarr)
2279
{
2279
{
2280
    sfvec3f * sfv = static_cast<sfvec3f*>(getFieldValue(env, obj));
2280
    openvrml::sfvec3f * sfv = static_cast<openvrml::sfvec3f*>(getFieldValue(env, obj));
2281
    if (!sfv) { return; }
2281
    if (!sfv) { return; }
2282
    env->SetFloatArrayRegion(jarr, 0, 3, const_cast<float *>(&sfv->value[0]));
2282
    env->SetFloatArrayRegion(jarr, 0, 3, const_cast<float *>(&sfv->value[0]));
2283
}
2283
}
Lines 2291-2297 Link Here
2291
 */
2291
 */
2292
jfloat JNICALL Java_vrml_field_ConstSFVec3f_getX(JNIEnv * env, jobject obj)
2292
jfloat JNICALL Java_vrml_field_ConstSFVec3f_getX(JNIEnv * env, jobject obj)
2293
{
2293
{
2294
    sfvec3f * sfv = static_cast<sfvec3f *>(getFieldValue(env, obj));
2294
    openvrml::sfvec3f * sfv = static_cast<openvrml::sfvec3f *>(getFieldValue(env, obj));
2295
    if (!sfv) { return 0.0; }
2295
    if (!sfv) { return 0.0; }
2296
    return sfv->value.x();
2296
    return sfv->value.x();
2297
}
2297
}
Lines 2305-2311 Link Here
2305
 */
2305
 */
2306
jfloat JNICALL Java_vrml_field_ConstSFVec3f_getY(JNIEnv * env, jobject obj)
2306
jfloat JNICALL Java_vrml_field_ConstSFVec3f_getY(JNIEnv * env, jobject obj)
2307
{
2307
{
2308
    sfvec3f * sfv = static_cast<sfvec3f *>(getFieldValue(env, obj));
2308
    openvrml::sfvec3f * sfv = static_cast<openvrml::sfvec3f *>(getFieldValue(env, obj));
2309
    if (!sfv) { return 0.0; }
2309
    if (!sfv) { return 0.0; }
2310
    return sfv->value.y();
2310
    return sfv->value.y();
2311
}
2311
}
Lines 2319-2325 Link Here
2319
 */
2319
 */
2320
jfloat JNICALL Java_vrml_field_ConstSFVec3f_getZ(JNIEnv * env, jobject obj)
2320
jfloat JNICALL Java_vrml_field_ConstSFVec3f_getZ(JNIEnv * env, jobject obj)
2321
{
2321
{
2322
    sfvec3f * sfv = static_cast<sfvec3f *>(getFieldValue(env, obj));
2322
    openvrml::sfvec3f * sfv = static_cast<openvrml::sfvec3f *>(getFieldValue(env, obj));
2323
    if (!sfv) { return 0.0; }
2323
    if (!sfv) { return 0.0; }
2324
    return sfv->value.z();
2324
    return sfv->value.z();
2325
}
2325
}
Lines 2399-2405 Link Here
2399
                                                   jobject obj,
2399
                                                   jobject obj,
2400
                                                   jfloatArray jarr)
2400
                                                   jfloatArray jarr)
2401
{
2401
{
2402
    sfvec3f * sfv = static_cast<sfvec3f *>(getFieldValue(env, obj));
2402
    openvrml::sfvec3f * sfv = static_cast<openvrml::sfvec3f *>(getFieldValue(env, obj));
2403
    if (!sfv) { return; }
2403
    if (!sfv) { return; }
2404
    jfloat * pjf = env->GetFloatArrayElements(jarr, NULL);
2404
    jfloat * pjf = env->GetFloatArrayElements(jarr, NULL);
2405
    sfv->value = vec3f(pjf[0], pjf[1], pjf[2]);
2405
    sfv->value = vec3f(pjf[0], pjf[1], pjf[2]);
Lines 2412-2418 Link Here
2412
                                                   jfloat y,
2412
                                                   jfloat y,
2413
                                                   jfloat z)
2413
                                                   jfloat z)
2414
{
2414
{
2415
    sfvec3f * sfv = static_cast<sfvec3f*>(getFieldValue(env, obj));
2415
    openvrml::sfvec3f * sfv = static_cast<openvrml::sfvec3f*>(getFieldValue(env, obj));
2416
    if (!sfv) { return; }
2416
    if (!sfv) { return; }
2417
    sfv->value = vec3f(x, y, z);
2417
    sfv->value = vec3f(x, y, z);
2418
}
2418
}
Lines 2422-2429 Link Here
2422
                                                             jobject obj,
2422
                                                             jobject obj,
2423
                                                             jobject value)
2423
                                                             jobject value)
2424
{
2424
{
2425
    sfvec3f * sfv = static_cast<sfvec3f*>(getFieldValue(env, obj));
2425
    openvrml::sfvec3f * sfv = static_cast<openvrml::sfvec3f*>(getFieldValue(env, obj));
2426
    sfvec3f * newSFVec3f = static_cast<sfvec3f*>(getFieldValue(env, value));
2426
    openvrml::sfvec3f * newSFVec3f = static_cast<openvrml::sfvec3f*>(getFieldValue(env, value));
2427
    if (!sfv || !newSFVec3f) { return; }
2427
    if (!sfv || !newSFVec3f) { return; }
2428
    sfv->value = newSFVec3f->value; // Does not throw.
2428
    sfv->value = newSFVec3f->value; // Does not throw.
2429
}
2429
}
Lines 2455-2461 Link Here
2455
    jobjectArray jarr)
2455
    jobjectArray jarr)
2456
{
2456
{
2457
    try {
2457
    try {
2458
        std::auto_ptr<mfcolor> mfcolor(new mfcolor(env->GetArrayLength(jarr)));
2458
        std::auto_ptr<openvrml::mfcolor> mfcolor(new openvrml::mfcolor(env->GetArrayLength(jarr)));
2459
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
2459
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
2460
        if (!fid) return;
2460
        if (!fid) return;
2461
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfcolor.release()));
2461
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfcolor.release()));
Lines 2478-2484 Link Here
2478
                                                             jfloatArray jarr)
2478
                                                             jfloatArray jarr)
2479
{
2479
{
2480
    try {
2480
    try {
2481
        std::auto_ptr<mfcolor> mfcolor(new mfcolor(size));
2481
        std::auto_ptr<openvrml::mfcolor> mfcolor(new openvrml::mfcolor(size));
2482
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
2482
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
2483
        if (!fid) return;
2483
        if (!fid) return;
2484
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfcolor.release()));
2484
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfcolor.release()));
Lines 2498-2504 Link Here
2498
2498
2499
jint JNICALL Java_vrml_field_ConstMFColor_getSize(JNIEnv * env, jobject obj)
2499
jint JNICALL Java_vrml_field_ConstMFColor_getSize(JNIEnv * env, jobject obj)
2500
{
2500
{
2501
    mfcolor * mfc = static_cast<mfcolor *>(getFieldValue(env, obj));
2501
    openvrml::mfcolor * mfc = static_cast<openvrml::mfcolor *>(getFieldValue(env, obj));
2502
    if (!mfc) { return 0; }
2502
    if (!mfc) { return 0; }
2503
    return mfc->value.size();
2503
    return mfc->value.size();
2504
}
2504
}
Lines 2507-2514 Link Here
2507
                                                          jobject obj,
2507
                                                          jobject obj,
2508
                                                          jobjectArray jarr)
2508
                                                          jobjectArray jarr)
2509
{
2509
{
2510
    const mfcolor * const mfc =
2510
    const openvrml::mfcolor * const mfc =
2511
            static_cast<mfcolor *>(getFieldValue(env, obj));
2511
            static_cast<openvrml::mfcolor *>(getFieldValue(env, obj));
2512
    if (!mfc) { return; }
2512
    if (!mfc) { return; }
2513
    for (size_t i = 0; i < mfc->value.size(); ++i) {
2513
    for (size_t i = 0; i < mfc->value.size(); ++i) {
2514
        jfloatArray element =
2514
        jfloatArray element =
Lines 2531-2538 Link Here
2531
                                                        jobject obj,
2531
                                                        jobject obj,
2532
                                                        jfloatArray jarr)
2532
                                                        jfloatArray jarr)
2533
{
2533
{
2534
    const mfcolor * const mfc =
2534
    const openvrml::mfcolor * const mfc =
2535
            static_cast<mfcolor *>(getFieldValue(env, obj));
2535
            static_cast<openvrml::mfcolor *>(getFieldValue(env, obj));
2536
    if (!mfc) return;
2536
    if (!mfc) return;
2537
    for (size_t i = 0; i < mfc->value.size(); ++i) {
2537
    for (size_t i = 0; i < mfc->value.size(); ++i) {
2538
        jfloat * const arrayRegion =
2538
        jfloat * const arrayRegion =
Lines 2550-2556 Link Here
2550
                                                          jint element,
2550
                                                          jint element,
2551
                                                          jfloatArray jarr)
2551
                                                          jfloatArray jarr)
2552
{
2552
{
2553
    mfcolor * mfc = static_cast<mfcolor*>(getFieldValue(env, obj));
2553
    openvrml::mfcolor * mfc = static_cast<openvrml::mfcolor*>(getFieldValue(env, obj));
2554
    if (!mfc) { return; }
2554
    if (!mfc) { return; }
2555
    try {
2555
    try {
2556
        jfloat * const arrayRegion =
2556
        jfloat * const arrayRegion =
Lines 2576-2586 Link Here
2576
        jint element,
2576
        jint element,
2577
        jobject sfcolorObj)
2577
        jobject sfcolorObj)
2578
{
2578
{
2579
    const mfcolor * const mfc =
2579
    const openvrml::mfcolor * const mfc =
2580
        static_cast<mfcolor *>(getFieldValue(env, obj));
2580
        static_cast<openvrml::mfcolor *>(getFieldValue(env, obj));
2581
    if (!mfc) return;
2581
    if (!mfc) return;
2582
    sfcolor * const sfc =
2582
    openvrml::sfcolor * const sfc =
2583
        static_cast<sfcolor *>(getFieldValue(env, sfcolorObj));
2583
        static_cast<openvrml::sfcolor *>(getFieldValue(env, sfcolorObj));
2584
    if (!sfc) { return; }
2584
    if (!sfc) { return; }
2585
    try {
2585
    try {
2586
        sfc->value = mfc->value.at(element);
2586
        sfc->value = mfc->value.at(element);
Lines 2630-2636 Link Here
2630
2630
2631
void JNICALL Java_vrml_field_MFColor_clear(JNIEnv * env, jobject obj)
2631
void JNICALL Java_vrml_field_MFColor_clear(JNIEnv * env, jobject obj)
2632
{
2632
{
2633
    mfcolor * const mfc = static_cast<mfcolor *>(getFieldValue(env, obj));
2633
    openvrml::mfcolor * const mfc = static_cast<openvrml::mfcolor *>(getFieldValue(env, obj));
2634
    if (!mfc) { return; }
2634
    if (!mfc) { return; }
2635
    mfc->value.clear();
2635
    mfc->value.clear();
2636
}
2636
}
Lines 2639-2645 Link Here
2639
                                            jobject obj,
2639
                                            jobject obj,
2640
                                            jint index)
2640
                                            jint index)
2641
{
2641
{
2642
    mfcolor * const mfc = static_cast<mfcolor*>(getFieldValue(env, obj));
2642
    openvrml::mfcolor * const mfc = static_cast<openvrml::mfcolor*>(getFieldValue(env, obj));
2643
    if (!mfc) { return; }
2643
    if (!mfc) { return; }
2644
    if (!(size_t(index) < mfc->value.size())) {
2644
    if (!(size_t(index) < mfc->value.size())) {
2645
        env->ExceptionDescribe();
2645
        env->ExceptionDescribe();
Lines 2687-2694 Link Here
2687
                                                     jobjectArray value)
2687
                                                     jobjectArray value)
2688
{
2688
{
2689
    try {
2689
    try {
2690
        mfcolor * const mfc =
2690
        openvrml::mfcolor * const mfc =
2691
                static_cast<mfcolor *>(getFieldValue(env, obj));
2691
                static_cast<openvrml::mfcolor *>(getFieldValue(env, obj));
2692
        if (!mfc) return;
2692
        if (!mfc) return;
2693
        mfc->value.resize(env->GetArrayLength(value)); // Throws std::bad_alloc.
2693
        mfc->value.resize(env->GetArrayLength(value)); // Throws std::bad_alloc.
2694
        for (size_t i = 0; i < mfc->value.size(); ++i) {
2694
        for (size_t i = 0; i < mfc->value.size(); ++i) {
Lines 2738-2744 Link Here
2738
                                                    jfloatArray value)
2738
                                                    jfloatArray value)
2739
{
2739
{
2740
    try {
2740
    try {
2741
        mfcolor * const mfc = static_cast<mfcolor *>(getFieldValue(env, obj));
2741
        openvrml::mfcolor * const mfc = static_cast<openvrml::mfcolor *>(getFieldValue(env, obj));
2742
        if (!mfc) { return; }
2742
        if (!mfc) { return; }
2743
        mfc->value.resize(size); // Throws std::bad_alloc.
2743
        mfc->value.resize(size); // Throws std::bad_alloc.
2744
        jfloat * const colors = env->GetFloatArrayElements(value, 0);
2744
        jfloat * const colors = env->GetFloatArrayElements(value, 0);
Lines 2795-2803 Link Here
2795
                                                        jobject obj,
2795
                                                        jobject obj,
2796
                                                        jobject value)
2796
                                                        jobject value)
2797
{
2797
{
2798
    mfcolor * const mfc = static_cast<mfcolor *>(getFieldValue(env, obj));
2798
    openvrml::mfcolor * const mfc = static_cast<openvrml::mfcolor *>(getFieldValue(env, obj));
2799
    const mfcolor * const newMFColor =
2799
    const openvrml::mfcolor * const newMFColor =
2800
        static_cast<mfcolor *>(getFieldValue(env, value));
2800
        static_cast<openvrml::mfcolor *>(getFieldValue(env, value));
2801
    if (!mfc || !newMFColor) { return; }
2801
    if (!mfc || !newMFColor) { return; }
2802
    try {
2802
    try {
2803
        *mfc = *newMFColor; // Throws bad_alloc.
2803
        *mfc = *newMFColor; // Throws bad_alloc.
Lines 2827-2835 Link Here
2827
    jint index,
2827
    jint index,
2828
    jobject sfcolor_object)
2828
    jobject sfcolor_object)
2829
{
2829
{
2830
    mfcolor * mfc = static_cast<mfcolor*>(getFieldValue(env, obj));
2830
    openvrml::mfcolor * mfc = static_cast<openvrml::mfcolor*>(getFieldValue(env, obj));
2831
    sfcolor * sfcolorptr =
2831
    openvrml::sfcolor * sfcolorptr =
2832
        static_cast<sfcolor*>(getFieldValue(env, sfcolor_object));
2832
        static_cast<openvrml::sfcolor*>(getFieldValue(env, sfcolor_object));
2833
    if (!mfc || !sfcolorptr) { return; }
2833
    if (!mfc || !sfcolorptr) { return; }
2834
    try {
2834
    try {
2835
        mfc->value.at(index) = sfcolorptr->value;
2835
        mfc->value.at(index) = sfcolorptr->value;
Lines 2858-2864 Link Here
2858
  (JNIEnv *env, jobject obj, jint index, jfloat red, jfloat green,
2858
  (JNIEnv *env, jobject obj, jint index, jfloat red, jfloat green,
2859
   jfloat blue)
2859
   jfloat blue)
2860
{
2860
{
2861
    mfcolor * mfc = static_cast<mfcolor*>(getFieldValue(env, obj));
2861
    openvrml::mfcolor * mfc = static_cast<openvrml::mfcolor*>(getFieldValue(env, obj));
2862
    if (!mfc) { return; }
2862
    if (!mfc) { return; }
2863
    try {
2863
    try {
2864
        mfc->value.at(index) = color(red, green, blue);
2864
        mfc->value.at(index) = color(red, green, blue);
Lines 2888-2895 Link Here
2888
    jobject obj,
2888
    jobject obj,
2889
    jobject sfcolor_object)
2889
    jobject sfcolor_object)
2890
{
2890
{
2891
    mfcolor * mfc = static_cast<mfcolor*>(getFieldValue(env, obj));
2891
    openvrml::mfcolor * mfc = static_cast<openvrml::mfcolor*>(getFieldValue(env, obj));
2892
    sfcolor * sfc = static_cast<sfcolor*>(getFieldValue(env, sfcolor_object));
2892
    openvrml::sfcolor * sfc = static_cast<openvrml::sfcolor*>(getFieldValue(env, sfcolor_object));
2893
    if (!mfc || !sfc) { return; }
2893
    if (!mfc || !sfc) { return; }
2894
    try {
2894
    try {
2895
        mfc->value.push_back(sfc->value);
2895
        mfc->value.push_back(sfc->value);
Lines 2935-2941 Link Here
2935
                                                   jfloat green,
2935
                                                   jfloat green,
2936
                                                   jfloat blue)
2936
                                                   jfloat blue)
2937
{
2937
{
2938
    mfcolor * mfc = static_cast<mfcolor*>(getFieldValue(env, obj));
2938
    openvrml::mfcolor * mfc = static_cast<openvrml::mfcolor*>(getFieldValue(env, obj));
2939
    if (!mfc) { return; }
2939
    if (!mfc) { return; }
2940
    try {
2940
    try {
2941
        mfc->value.push_back(color(red, green, blue));
2941
        mfc->value.push_back(color(red, green, blue));
Lines 2958-2965 Link Here
2958
    jint index,
2958
    jint index,
2959
    jobject sfcolor_object)
2959
    jobject sfcolor_object)
2960
{
2960
{
2961
    sfcolor * sfcolorptr =
2961
    openvrml::sfcolor * sfcolorptr =
2962
        static_cast<sfcolor*>(getFieldValue(env, sfcolor_object));
2962
        static_cast<openvrml::sfcolor*>(getFieldValue(env, sfcolor_object));
2963
    if (!sfcolorptr) { return; }
2963
    if (!sfcolorptr) { return; }
2964
    Java_vrml_field_MFColor_insertValue__IFFF(env, obj, index,
2964
    Java_vrml_field_MFColor_insertValue__IFFF(env, obj, index,
2965
                                              sfcolorptr->value.r(),
2965
                                              sfcolorptr->value.r(),
Lines 2984-2990 Link Here
2984
                                                       jfloat green,
2984
                                                       jfloat green,
2985
                                                       jfloat blue)
2985
                                                       jfloat blue)
2986
{
2986
{
2987
    mfcolor * mfc = static_cast<mfcolor*>(getFieldValue(env, obj));
2987
    openvrml::mfcolor * mfc = static_cast<openvrml::mfcolor*>(getFieldValue(env, obj));
2988
    if (!mfc) { return; }
2988
    if (!mfc) { return; }
2989
    if (!(size_t(index) < mfc->value.size())) {
2989
    if (!(size_t(index) < mfc->value.size())) {
2990
        env->ExceptionDescribe();
2990
        env->ExceptionDescribe();
Lines 3029-3035 Link Here
3029
{
3029
{
3030
    try {
3030
    try {
3031
        jfloat *pjf = env->GetFloatArrayElements(value, NULL);
3031
        jfloat *pjf = env->GetFloatArrayElements(value, NULL);
3032
        std::auto_ptr<mffloat> mffloat(new mffloat(pjf, pjf + size));
3032
        std::auto_ptr<openvrml::mffloat> mffloat(new openvrml::mffloat(pjf, pjf + size));
3033
        env->ReleaseFloatArrayElements(value, pjf, JNI_ABORT);
3033
        env->ReleaseFloatArrayElements(value, pjf, JNI_ABORT);
3034
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
3034
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
3035
        if (!fid) { return; }
3035
        if (!fid) { return; }
Lines 3047-3053 Link Here
3047
}
3047
}
3048
3048
3049
jint JNICALL Java_vrml_field_ConstMFFloat_getSize(JNIEnv * env, jobject obj) {
3049
jint JNICALL Java_vrml_field_ConstMFFloat_getSize(JNIEnv * env, jobject obj) {
3050
    mffloat * mff = static_cast<mffloat *>(getFieldValue(env, obj));
3050
    openvrml::mffloat * mff = static_cast<openvrml::mffloat *>(getFieldValue(env, obj));
3051
    if (!mff) return 0;
3051
    if (!mff) return 0;
3052
    return mff->value.size();
3052
    return mff->value.size();
3053
}
3053
}
Lines 3056-3063 Link Here
3056
                                                   jobject obj,
3056
                                                   jobject obj,
3057
                                                   jfloatArray jarr)
3057
                                                   jfloatArray jarr)
3058
{
3058
{
3059
    const mffloat * const mff =
3059
    const openvrml::mffloat * const mff =
3060
        static_cast<mffloat *>(getFieldValue(env, obj));
3060
        static_cast<openvrml::mffloat *>(getFieldValue(env, obj));
3061
    if (!mff) { return; }
3061
    if (!mff) { return; }
3062
    const size_t size = mff->value.size();
3062
    const size_t size = mff->value.size();
3063
    if (size > 0) {
3063
    if (size > 0) {
Lines 3070-3076 Link Here
3070
                                                      jobject obj,
3070
                                                      jobject obj,
3071
                                                      jint index)
3071
                                                      jint index)
3072
{
3072
{
3073
    mffloat * mff = static_cast<mffloat *>(getFieldValue(env, obj));
3073
    openvrml::mffloat * mff = static_cast<openvrml::mffloat *>(getFieldValue(env, obj));
3074
    if (!mff) { return 0.0; }
3074
    if (!mff) { return 0.0; }
3075
    return mff->value[index];
3075
    return mff->value[index];
3076
}
3076
}
Lines 3102-3108 Link Here
3102
3102
3103
void JNICALL Java_vrml_field_MFFloat_clear(JNIEnv * env, jobject obj)
3103
void JNICALL Java_vrml_field_MFFloat_clear(JNIEnv * env, jobject obj)
3104
{
3104
{
3105
    mffloat * const mff = static_cast<mffloat *>(getFieldValue(env, obj));
3105
    openvrml::mffloat * const mff = static_cast<openvrml::mffloat *>(getFieldValue(env, obj));
3106
    if (!mff) { return; }
3106
    if (!mff) { return; }
3107
    mff->value.clear();
3107
    mff->value.clear();
3108
}
3108
}
Lines 3111-3117 Link Here
3111
                                            jobject obj,
3111
                                            jobject obj,
3112
                                            jint index)
3112
                                            jint index)
3113
{
3113
{
3114
    mffloat * mff = static_cast<mffloat*>(getFieldValue(env, obj));
3114
    openvrml::mffloat * mff = static_cast<openvrml::mffloat*>(getFieldValue(env, obj));
3115
    if (!mff) { return; }
3115
    if (!mff) { return; }
3116
    if (!(size_t(index) < mff->value.size())) {
3116
    if (!(size_t(index) < mff->value.size())) {
3117
        env->ExceptionDescribe();
3117
        env->ExceptionDescribe();
Lines 3146-3152 Link Here
3146
                                                    jfloatArray value)
3146
                                                    jfloatArray value)
3147
{
3147
{
3148
    try {
3148
    try {
3149
        mffloat * const mff = static_cast<mffloat *>(getFieldValue(env, obj));
3149
        openvrml::mffloat * const mff = static_cast<openvrml::mffloat *>(getFieldValue(env, obj));
3150
        if (!mff) { return; }
3150
        if (!mff) { return; }
3151
        mff->value.resize(size); // Throws bad_alloc.
3151
        mff->value.resize(size); // Throws bad_alloc.
3152
        jfloat * const floats = env->GetFloatArrayElements(value, 0);
3152
        jfloat * const floats = env->GetFloatArrayElements(value, 0);
Lines 3188-3196 Link Here
3188
                                                        jobject obj,
3188
                                                        jobject obj,
3189
                                                        jobject value)
3189
                                                        jobject value)
3190
{
3190
{
3191
    mffloat * const mff = static_cast<mffloat *>(getFieldValue(env, obj));
3191
    openvrml::mffloat * const mff = static_cast<openvrml::mffloat *>(getFieldValue(env, obj));
3192
    const mffloat * const newMFFloat =
3192
    const openvrml::mffloat * const newMFFloat =
3193
        static_cast<mffloat*>(getFieldValue(env, value));
3193
        static_cast<openvrml::mffloat*>(getFieldValue(env, value));
3194
    if (!mff || !newMFFloat) return;
3194
    if (!mff || !newMFFloat) return;
3195
    try {
3195
    try {
3196
        *mff = *newMFFloat; // Throws bad_alloc.
3196
        *mff = *newMFFloat; // Throws bad_alloc.
Lines 3218-3224 Link Here
3218
                                                   jint index,
3218
                                                   jint index,
3219
                                                   jfloat value)
3219
                                                   jfloat value)
3220
{
3220
{
3221
    mffloat * mff = static_cast<mffloat *>(getFieldValue(env, obj));
3221
    openvrml::mffloat * mff = static_cast<openvrml::mffloat *>(getFieldValue(env, obj));
3222
    mff->value[index] = value;
3222
    mff->value[index] = value;
3223
}
3223
}
3224
3224
Lines 3226-3233 Link Here
3226
Java_vrml_field_MFFloat_set1Value__ILvrml_field_ConstSFFloat_2
3226
Java_vrml_field_MFFloat_set1Value__ILvrml_field_ConstSFFloat_2
3227
  (JNIEnv *env, jobject obj, jint index, jobject sffloatObj)
3227
  (JNIEnv *env, jobject obj, jint index, jobject sffloatObj)
3228
{
3228
{
3229
    mffloat * mff = static_cast<mffloat*>(getFieldValue(env, obj));
3229
    openvrml::mffloat * mff = static_cast<openvrml::mffloat*>(getFieldValue(env, obj));
3230
    sffloat * sff = static_cast<sffloat*>(getFieldValue(env, sffloatObj));
3230
    openvrml::sffloat * sff = static_cast<openvrml::sffloat*>(getFieldValue(env, sffloatObj));
3231
    if (!mff || !sff) { return; }
3231
    if (!mff || !sff) { return; }
3232
    mff->value[index] = sff->value;
3232
    mff->value[index] = sff->value;
3233
}
3233
}
Lines 3251-3257 Link Here
3251
                                                 jobject obj,
3251
                                                 jobject obj,
3252
                                                 jfloat value)
3252
                                                 jfloat value)
3253
{
3253
{
3254
    mffloat * mff = static_cast<mffloat*>(getFieldValue(env, obj));
3254
    openvrml::mffloat * mff = static_cast<openvrml::mffloat*>(getFieldValue(env, obj));
3255
    if (!mff) { return; }
3255
    if (!mff) { return; }
3256
    try {
3256
    try {
3257
        mff->value.push_back(value);
3257
        mff->value.push_back(value);
Lines 3279-3286 Link Here
3279
                                                             jobject obj,
3279
                                                             jobject obj,
3280
                                                             jobject value)
3280
                                                             jobject value)
3281
{
3281
{
3282
    mffloat * mff = static_cast<mffloat*>(getFieldValue(env, obj));
3282
    openvrml::mffloat * mff = static_cast<openvrml::mffloat*>(getFieldValue(env, obj));
3283
    sffloat * sff = static_cast<sffloat*>(getFieldValue(env, value));
3283
    openvrml::sffloat * sff = static_cast<openvrml::sffloat*>(getFieldValue(env, value));
3284
    if (!mff || !sff) { return; }
3284
    if (!mff || !sff) { return; }
3285
    try {
3285
    try {
3286
        mff->value.push_back(sff->value);
3286
        mff->value.push_back(sff->value);
Lines 3316-3322 Link Here
3316
                                                     jint index,
3316
                                                     jint index,
3317
                                                     jfloat value)
3317
                                                     jfloat value)
3318
{
3318
{
3319
    mffloat * mff = static_cast<mffloat *>(getFieldValue(env, obj));
3319
    openvrml::mffloat * mff = static_cast<openvrml::mffloat *>(getFieldValue(env, obj));
3320
    if (!mff) { return; }
3320
    if (!mff) { return; }
3321
    if (!(size_t(index) < mff->value.size())) {
3321
    if (!(size_t(index) < mff->value.size())) {
3322
        env->ExceptionDescribe();
3322
        env->ExceptionDescribe();
Lines 3349-3355 Link Here
3349
                                                                 jint index,
3349
                                                                 jint index,
3350
                                                                 jobject value)
3350
                                                                 jobject value)
3351
{
3351
{
3352
    sffloat * sff = static_cast<sffloat*>(getFieldValue(env, value));
3352
    openvrml::sffloat * sff = static_cast<openvrml::sffloat*>(getFieldValue(env, value));
3353
    if (!sff) { return; }
3353
    if (!sff) { return; }
3354
    Java_vrml_field_MFFloat_insertValue__IF(env, obj, index, sff->value);
3354
    Java_vrml_field_MFFloat_insertValue__IF(env, obj, index, sff->value);
3355
}
3355
}
Lines 3382-3388 Link Here
3382
{
3382
{
3383
    try {
3383
    try {
3384
        jint * pji = env->GetIntArrayElements(value, NULL);
3384
        jint * pji = env->GetIntArrayElements(value, NULL);
3385
        std::auto_ptr<mfint32> pMFInt32(new mfint32(pji, pji + size));
3385
        std::auto_ptr<openvrml::mfint32> pMFInt32(new openvrml::mfint32(pji, pji + size));
3386
        env->ReleaseIntArrayElements(value, pji, JNI_ABORT);
3386
        env->ReleaseIntArrayElements(value, pji, JNI_ABORT);
3387
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
3387
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
3388
        if (!fid) { return; }
3388
        if (!fid) { return; }
Lines 3401-3407 Link Here
3401
3401
3402
jint JNICALL Java_vrml_field_ConstMFInt32_getSize(JNIEnv * env, jobject obj)
3402
jint JNICALL Java_vrml_field_ConstMFInt32_getSize(JNIEnv * env, jobject obj)
3403
{
3403
{
3404
    mfint32 * mfi = static_cast<mfint32 *>(getFieldValue(env, obj));
3404
    openvrml::mfint32 * mfi = static_cast<openvrml::mfint32 *>(getFieldValue(env, obj));
3405
    if (!mfi) return 0;
3405
    if (!mfi) return 0;
3406
    return mfi->value.size();
3406
    return mfi->value.size();
3407
}
3407
}
Lines 3410-3416 Link Here
3410
                                                   jobject obj,
3410
                                                   jobject obj,
3411
                                                   jintArray jarr)
3411
                                                   jintArray jarr)
3412
{
3412
{
3413
    const mfint32 * const mfi = static_cast<mfint32*>(getFieldValue(env, obj));
3413
    const openvrml::mfint32 * const mfi = static_cast<openvrml::mfint32*>(getFieldValue(env, obj));
3414
    if (!mfi) return;
3414
    if (!mfi) return;
3415
    const size_t size = mfi->value.size();
3415
    const size_t size = mfi->value.size();
3416
    if (size > 0) {
3416
    if (size > 0) {
Lines 3437-3443 Link Here
3437
                                                    jobject obj,
3437
                                                    jobject obj,
3438
                                                    jint index)
3438
                                                    jint index)
3439
{
3439
{
3440
    mfint32 * mfi = static_cast<mfint32 *>(getFieldValue(env, obj));
3440
    openvrml::mfint32 * mfi = static_cast<openvrml::mfint32 *>(getFieldValue(env, obj));
3441
    if (!mfi) { return 0; }
3441
    if (!mfi) { return 0; }
3442
    return mfi->value[index];
3442
    return mfi->value[index];
3443
}
3443
}
Lines 3469-3482 Link Here
3469
3469
3470
void JNICALL Java_vrml_field_MFInt32_clear(JNIEnv * env, jobject obj)
3470
void JNICALL Java_vrml_field_MFInt32_clear(JNIEnv * env, jobject obj)
3471
{
3471
{
3472
    mfint32 * const mfi = static_cast<mfint32 *>(getFieldValue(env, obj));
3472
    openvrml::mfint32 * const mfi = static_cast<openvrml::mfint32 *>(getFieldValue(env, obj));
3473
    if (!mfi) { return; }
3473
    if (!mfi) { return; }
3474
    mfi->value.clear();
3474
    mfi->value.clear();
3475
}
3475
}
3476
3476
3477
void JNICALL Java_vrml_field_MFInt32_delete(JNIEnv * env, jobject obj, jint n)
3477
void JNICALL Java_vrml_field_MFInt32_delete(JNIEnv * env, jobject obj, jint n)
3478
{
3478
{
3479
    mfint32 * mfi = static_cast<mfint32*>(getFieldValue(env, obj));
3479
    openvrml::mfint32 * mfi = static_cast<openvrml::mfint32*>(getFieldValue(env, obj));
3480
    if (!mfi) { return; }
3480
    if (!mfi) { return; }
3481
    if (!(size_t(n) < mfi->value.size())) {
3481
    if (!(size_t(n) < mfi->value.size())) {
3482
        env->ExceptionDescribe();
3482
        env->ExceptionDescribe();
Lines 3511-3517 Link Here
3511
                                                    jintArray value)
3511
                                                    jintArray value)
3512
{
3512
{
3513
    try {
3513
    try {
3514
        mfint32 * const mfi = static_cast<mfint32 *>(getFieldValue(env, obj));
3514
        openvrml::mfint32 * const mfi = static_cast<openvrml::mfint32 *>(getFieldValue(env, obj));
3515
        if (!mfi) return;
3515
        if (!mfi) return;
3516
        mfi->value.resize(size); // Throws bad_alloc.
3516
        mfi->value.resize(size); // Throws bad_alloc.
3517
        jint * ints = env->GetIntArrayElements(value, 0);
3517
        jint * ints = env->GetIntArrayElements(value, 0);
Lines 3553-3561 Link Here
3553
                                                        jobject obj,
3553
                                                        jobject obj,
3554
                                                        jobject value)
3554
                                                        jobject value)
3555
{
3555
{
3556
    mfint32 * const mfi = static_cast<mfint32 *>(getFieldValue(env, obj));
3556
    openvrml::mfint32 * const mfi = static_cast<openvrml::mfint32 *>(getFieldValue(env, obj));
3557
    const mfint32 * const newMFInt32 =
3557
    const openvrml::mfint32 * const newMFInt32 =
3558
        static_cast<mfint32 *>(getFieldValue(env, value));
3558
        static_cast<openvrml::mfint32 *>(getFieldValue(env, value));
3559
    if (!mfi || !newMFInt32) return;
3559
    if (!mfi || !newMFInt32) return;
3560
    try {
3560
    try {
3561
        *mfi = *newMFInt32; // Throws bad_alloc.
3561
        *mfi = *newMFInt32; // Throws bad_alloc.
Lines 3583-3589 Link Here
3583
                                                   jint index,
3583
                                                   jint index,
3584
                                                   jint value)
3584
                                                   jint value)
3585
{
3585
{
3586
    mfint32 * mfi = static_cast<mfint32*>(getFieldValue(env, obj));
3586
    openvrml::mfint32 * mfi = static_cast<openvrml::mfint32*>(getFieldValue(env, obj));
3587
    if (!mfi) { return; }
3587
    if (!mfi) { return; }
3588
    mfi->value[index] = value;
3588
    mfi->value[index] = value;
3589
}
3589
}
Lines 3595-3602 Link Here
3595
    jint index,
3595
    jint index,
3596
    jobject sfint32_object)
3596
    jobject sfint32_object)
3597
{
3597
{
3598
    mfint32 * mfi = static_cast<mfint32*>(getFieldValue(env, obj));
3598
    openvrml::mfint32 * mfi = static_cast<openvrml::mfint32*>(getFieldValue(env, obj));
3599
    sfint32 * sfi = static_cast<sfint32*>(getFieldValue(env, sfint32_object));
3599
    openvrml::sfint32 * sfi = static_cast<openvrml::sfint32*>(getFieldValue(env, sfint32_object));
3600
    if (!mfi || !sfi) { return; }
3600
    if (!mfi || !sfi) { return; }
3601
    mfi->value[index] = sfi->value;
3601
    mfi->value[index] = sfi->value;
3602
}
3602
}
Lines 3620-3626 Link Here
3620
                                                 jobject obj,
3620
                                                 jobject obj,
3621
                                                 jint value)
3621
                                                 jint value)
3622
{
3622
{
3623
    mfint32 * mfi = static_cast<mfint32 *>(getFieldValue(env, obj));
3623
    openvrml::mfint32 * mfi = static_cast<openvrml::mfint32 *>(getFieldValue(env, obj));
3624
    if (!mfi) { return; }
3624
    if (!mfi) { return; }
3625
    try {
3625
    try {
3626
        mfi->value.push_back(value);
3626
        mfi->value.push_back(value);
Lines 3648-3655 Link Here
3648
                                                             jobject obj,
3648
                                                             jobject obj,
3649
                                                             jobject value)
3649
                                                             jobject value)
3650
{
3650
{
3651
    mfint32 * mfi = static_cast<mfint32*>(getFieldValue(env, obj));
3651
    openvrml::mfint32 * mfi = static_cast<openvrml::mfint32*>(getFieldValue(env, obj));
3652
    sfint32 * sfi = static_cast<sfint32*>(getFieldValue(env, value));
3652
    openvrml::sfint32 * sfi = static_cast<openvrml::sfint32*>(getFieldValue(env, value));
3653
    if (!mfi || !sfi) { return; }
3653
    if (!mfi || !sfi) { return; }
3654
    try {
3654
    try {
3655
        mfi->value.push_back(sfi->value);
3655
        mfi->value.push_back(sfi->value);
Lines 3686-3692 Link Here
3686
                                                     jint index,
3686
                                                     jint index,
3687
                                                     jint value)
3687
                                                     jint value)
3688
{
3688
{
3689
    mfint32 * mfi = static_cast<mfint32*>(getFieldValue(env, obj));
3689
    openvrml::mfint32 * mfi = static_cast<openvrml::mfint32*>(getFieldValue(env, obj));
3690
    if (!mfi) { return; }
3690
    if (!mfi) { return; }
3691
    if (!(size_t(index) < mfi->value.size())) {
3691
    if (!(size_t(index) < mfi->value.size())) {
3692
        env->ExceptionDescribe();
3692
        env->ExceptionDescribe();
Lines 3719-3725 Link Here
3719
                                                                 jint index,
3719
                                                                 jint index,
3720
                                                                 jobject value)
3720
                                                                 jobject value)
3721
{
3721
{
3722
    sfint32 * sfi = static_cast<sfint32*>(getFieldValue(env, value));
3722
    openvrml::sfint32 * sfi = static_cast<openvrml::sfint32*>(getFieldValue(env, value));
3723
    if (!sfi) { return; }
3723
    if (!sfi) { return; }
3724
    Java_vrml_field_MFInt32_insertValue__II(env, obj, index, sfi->value);
3724
    Java_vrml_field_MFInt32_insertValue__II(env, obj, index, sfi->value);
3725
}
3725
}
Lines 3749-3755 Link Here
3749
  (JNIEnv *env, jobject obj, jint size, jobjectArray jarr)
3749
  (JNIEnv *env, jobject obj, jint size, jobjectArray jarr)
3750
{
3750
{
3751
    try {
3751
    try {
3752
        std::auto_ptr<mfnode> mfnode(new mfnode(size));
3752
        std::auto_ptr<openvrml::mfnode> mfnode(new openvrml::mfnode(size));
3753
        jfieldID fid;
3753
        jfieldID fid;
3754
3754
3755
        for (jint i = 0; i < size; i++) {
3755
        for (jint i = 0; i < size; i++) {
Lines 3779-3785 Link Here
3779
3779
3780
jint JNICALL Java_vrml_field_ConstMFNode_getSize(JNIEnv * env, jobject obj)
3780
jint JNICALL Java_vrml_field_ConstMFNode_getSize(JNIEnv * env, jobject obj)
3781
{
3781
{
3782
    mfnode * mfn = static_cast<mfnode *>(getFieldValue(env, obj));
3782
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode *>(getFieldValue(env, obj));
3783
    if (!mfn) { return 0; }
3783
    if (!mfn) { return 0; }
3784
    return mfn->value.size();
3784
    return mfn->value.size();
3785
}
3785
}
Lines 3788-3794 Link Here
3788
                                                  jobject obj,
3788
                                                  jobject obj,
3789
                                                  jobjectArray basenode)
3789
                                                  jobjectArray basenode)
3790
{
3790
{
3791
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
3791
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
3792
    if (!mfn) { return; }
3792
    if (!mfn) { return; }
3793
    std::vector<node_ptr>::size_type arraySize = mfn->value.size();
3793
    std::vector<node_ptr>::size_type arraySize = mfn->value.size();
3794
    jclass clazz = env->FindClass("vrml/node/Node");
3794
    jclass clazz = env->FindClass("vrml/node/Node");
Lines 3816-3822 Link Here
3816
                                                      jobject obj,
3816
                                                      jobject obj,
3817
                                                      jint index)
3817
                                                      jint index)
3818
{
3818
{
3819
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
3819
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
3820
    if (!mfn) { return 0; }
3820
    if (!mfn) { return 0; }
3821
    jclass clazz = env->FindClass("vrml/node/Node");
3821
    jclass clazz = env->FindClass("vrml/node/Node");
3822
    jobject jNode = env->AllocObject(clazz);
3822
    jobject jNode = env->AllocObject(clazz);
Lines 3854-3860 Link Here
3854
3854
3855
void JNICALL Java_vrml_field_MFNode_clear(JNIEnv * env, jobject obj)
3855
void JNICALL Java_vrml_field_MFNode_clear(JNIEnv * env, jobject obj)
3856
{
3856
{
3857
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
3857
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
3858
    if (!mfn) { return; }
3858
    if (!mfn) { return; }
3859
    mfn->value.clear();
3859
    mfn->value.clear();
3860
}
3860
}
Lines 3863-3869 Link Here
3863
                                           jobject obj,
3863
                                           jobject obj,
3864
                                           jint index)
3864
                                           jint index)
3865
{
3865
{
3866
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
3866
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
3867
    if (!mfn) { return; }
3867
    if (!mfn) { return; }
3868
    if (!(size_t(index) < mfn->value.size())) {
3868
    if (!(size_t(index) < mfn->value.size())) {
3869
        env->ExceptionDescribe();
3869
        env->ExceptionDescribe();
Lines 3920-3927 Link Here
3920
                                                      jobject obj,
3920
                                                      jobject obj,
3921
                                                      jobject value)
3921
                                                      jobject value)
3922
{
3922
{
3923
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
3923
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
3924
    mfnode* newMFNode = static_cast<mfnode*>(getFieldValue(env, value));
3924
    openvrml::mfnode* newMFNode = static_cast<openvrml::mfnode*>(getFieldValue(env, value));
3925
    if (!mfn || !newMFNode) { return; }
3925
    if (!mfn || !newMFNode) { return; }
3926
3926
3927
    try {
3927
    try {
Lines 3950-3956 Link Here
3950
                                                                 jint pos,
3950
                                                                 jint pos,
3951
                                                                 jobject value)
3951
                                                                 jobject value)
3952
{
3952
{
3953
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
3953
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
3954
    if (!mfn) { return; }
3954
    if (!mfn) { return; }
3955
    jfieldID fid = getFid(env, value, "NodePtr", "I");
3955
    jfieldID fid = getFid(env, value, "NodePtr", "I");
3956
    if (!fid) { return; }
3956
    if (!fid) { return; }
Lines 3967-3973 Link Here
3967
    jint index,
3967
    jint index,
3968
    jobject sfnode_object)
3968
    jobject sfnode_object)
3969
{
3969
{
3970
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
3970
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
3971
    sfnode * sfn = static_cast<sfnode*>(getFieldValue(env, sfnode_object));
3971
    sfnode * sfn = static_cast<sfnode*>(getFieldValue(env, sfnode_object));
3972
    if (!mfn || !sfn) { return; }
3972
    if (!mfn || !sfn) { return; }
3973
    mfn->value[index] = sfn->value;
3973
    mfn->value[index] = sfn->value;
Lines 3992-3998 Link Here
3992
                                                               jobject obj,
3992
                                                               jobject obj,
3993
                                                               jobject value)
3993
                                                               jobject value)
3994
{
3994
{
3995
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
3995
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
3996
    if (!mfn) { return; }
3996
    if (!mfn) { return; }
3997
    jfieldID fid = getFid(env, value, "NodePtr", "I");
3997
    jfieldID fid = getFid(env, value, "NodePtr", "I");
3998
    if (!fid) { return; }
3998
    if (!fid) { return; }
Lines 4025-4031 Link Here
4025
                                                           jobject obj,
4025
                                                           jobject obj,
4026
                                                           jobject value)
4026
                                                           jobject value)
4027
{
4027
{
4028
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
4028
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
4029
    sfnode * sfn = static_cast<sfnode*>(getFieldValue(env, value));
4029
    sfnode * sfn = static_cast<sfnode*>(getFieldValue(env, value));
4030
    if (!mfn || !sfn) { return; }
4030
    if (!mfn || !sfn) { return; }
4031
    try {
4031
    try {
Lines 4061-4067 Link Here
4061
                                                      jint index,
4061
                                                      jint index,
4062
                                                      jobject value)
4062
                                                      jobject value)
4063
{
4063
{
4064
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
4064
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
4065
    if (!mfn) { return; }
4065
    if (!mfn) { return; }
4066
    jfieldID fid = getFid(env, value, "NodePtr", "I");
4066
    jfieldID fid = getFid(env, value, "NodePtr", "I");
4067
    if (!fid) { return; }
4067
    if (!fid) { return; }
Lines 4099-4105 Link Here
4099
                                                               jint index,
4099
                                                               jint index,
4100
                                                               jobject value)
4100
                                                               jobject value)
4101
{
4101
{
4102
    mfnode * mfn = static_cast<mfnode*>(getFieldValue(env, obj));
4102
    openvrml::mfnode * mfn = static_cast<openvrml::mfnode*>(getFieldValue(env, obj));
4103
    sfnode * sfn = static_cast<sfnode*>(getFieldValue(env, value));
4103
    sfnode * sfn = static_cast<sfnode*>(getFieldValue(env, value));
4104
    if (!mfn || !sfn) { return; }
4104
    if (!mfn || !sfn) { return; }
4105
    if (!(size_t(index) < mfn->value.size())) {
4105
    if (!(size_t(index) < mfn->value.size())) {
Lines 4154-4161 Link Here
4154
                                                    jobjectArray jarr)
4154
                                                    jobjectArray jarr)
4155
{
4155
{
4156
    try {
4156
    try {
4157
        std::auto_ptr<mfrotation>
4157
        std::auto_ptr<openvrml::mfrotation>
4158
                mfrotation(new mfrotation(env->GetArrayLength(jarr)));
4158
                mfrotation(new openvrml::mfrotation(env->GetArrayLength(jarr)));
4159
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
4159
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
4160
        if (!fid) return;
4160
        if (!fid) return;
4161
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfrotation.release()));
4161
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfrotation.release()));
Lines 4180-4186 Link Here
4180
                                                   jfloatArray jarr)
4180
                                                   jfloatArray jarr)
4181
{
4181
{
4182
    try {
4182
    try {
4183
        std::auto_ptr<mfrotation> mfrotation(new mfrotation(size));
4183
        std::auto_ptr<openvrml::mfrotation> mfrotation(new openvrml::mfrotation(size));
4184
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
4184
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
4185
        if (!fid) { return; }
4185
        if (!fid) { return; }
4186
        env->SetIntField(obj, fid,
4186
        env->SetIntField(obj, fid,
Lines 4202-4209 Link Here
4202
jint JNICALL Java_vrml_field_ConstMFRotation_getSize(JNIEnv * env,
4202
jint JNICALL Java_vrml_field_ConstMFRotation_getSize(JNIEnv * env,
4203
                                                     jobject obj)
4203
                                                     jobject obj)
4204
{
4204
{
4205
    mfrotation * mfrot =
4205
    openvrml::mfrotation * mfrot =
4206
        static_cast<mfrotation *>(getFieldValue(env, obj));
4206
        static_cast<openvrml::mfrotation *>(getFieldValue(env, obj));
4207
    if (!mfrot) { return 0; }
4207
    if (!mfrot) { return 0; }
4208
    return mfrot->value.size();
4208
    return mfrot->value.size();
4209
}
4209
}
Lines 4212-4219 Link Here
4212
                                                             jobject obj,
4212
                                                             jobject obj,
4213
                                                             jobjectArray jarr)
4213
                                                             jobjectArray jarr)
4214
{
4214
{
4215
    const mfrotation * const mfrot =
4215
    const openvrml::mfrotation * const mfrot =
4216
            static_cast<mfrotation *>(getFieldValue(env, obj));
4216
            static_cast<openvrml::mfrotation *>(getFieldValue(env, obj));
4217
    for (size_t i = 0; i < mfrot->value.size(); ++i) {
4217
    for (size_t i = 0; i < mfrot->value.size(); ++i) {
4218
        jfloatArray element =
4218
        jfloatArray element =
4219
                static_cast<jfloatArray>(env->GetObjectArrayElement(jarr, i));
4219
                static_cast<jfloatArray>(env->GetObjectArrayElement(jarr, i));
Lines 4234-4241 Link Here
4234
                                                           jobject obj,
4234
                                                           jobject obj,
4235
                                                           jfloatArray jarr)
4235
                                                           jfloatArray jarr)
4236
{
4236
{
4237
    const mfrotation * const mfrot =
4237
    const openvrml::mfrotation * const mfrot =
4238
            static_cast<mfrotation *>(getFieldValue(env, obj));
4238
            static_cast<openvrml::mfrotation *>(getFieldValue(env, obj));
4239
    for (size_t i = 0; i < mfrot->value.size(); ++i) {
4239
    for (size_t i = 0; i < mfrot->value.size(); ++i) {
4240
        env->SetFloatArrayRegion(jarr, i * 4, 4,
4240
        env->SetFloatArrayRegion(jarr, i * 4, 4,
4241
                                 const_cast<jfloat *>(&mfrot->value[i][0]));
4241
                                 const_cast<jfloat *>(&mfrot->value[i][0]));
Lines 4251-4257 Link Here
4251
                                                             jint element,
4251
                                                             jint element,
4252
                                                             jfloatArray jarr)
4252
                                                             jfloatArray jarr)
4253
{
4253
{
4254
    mfrotation * mfrot = static_cast<mfrotation*>(getFieldValue(env, obj));
4254
    openvrml::mfrotation * mfrot = static_cast<openvrml::mfrotation*>(getFieldValue(env, obj));
4255
    env->SetFloatArrayRegion(jarr, 0, 4,
4255
    env->SetFloatArrayRegion(jarr, 0, 4,
4256
                             const_cast<jfloat*>(&mfrot->value[element][0]));
4256
                             const_cast<jfloat*>(&mfrot->value[element][0]));
4257
}
4257
}
Lines 4263-4273 Link Here
4263
        jint element,
4263
        jint element,
4264
        jobject sfrotationObj)
4264
        jobject sfrotationObj)
4265
{
4265
{
4266
    const mfrotation * const mfrot =
4266
    const openvrml::mfrotation * const mfrot =
4267
            static_cast<mfrotation *>(getFieldValue(env, obj));
4267
            static_cast<openvrml::mfrotation *>(getFieldValue(env, obj));
4268
    if (!mfrot) { return; }
4268
    if (!mfrot) { return; }
4269
    sfrotation * const sfrot =
4269
    openvrml::sfrotation * const sfrot =
4270
            static_cast<sfrotation *>(getFieldValue(env, sfrotationObj));
4270
            static_cast<openvrml::sfrotation *>(getFieldValue(env, sfrotationObj));
4271
    if (!sfrot) { return; }
4271
    if (!sfrot) { return; }
4272
    try {
4272
    try {
4273
        sfrot->value = mfrot->value[element];
4273
        sfrot->value = mfrot->value[element];
Lines 4317-4324 Link Here
4317
4317
4318
void JNICALL Java_vrml_field_MFRotation_clear(JNIEnv * env, jobject obj)
4318
void JNICALL Java_vrml_field_MFRotation_clear(JNIEnv * env, jobject obj)
4319
{
4319
{
4320
    mfrotation * const mfrot =
4320
    openvrml::mfrotation * const mfrot =
4321
        static_cast<mfrotation *>(getFieldValue(env, obj));
4321
        static_cast<openvrml::mfrotation *>(getFieldValue(env, obj));
4322
    if (!mfrot) { return; }
4322
    if (!mfrot) { return; }
4323
    mfrot->value.clear(); // Shouldn't throw bad_alloc.
4323
    mfrot->value.clear(); // Shouldn't throw bad_alloc.
4324
}
4324
}
Lines 4327-4333 Link Here
4327
                                               jobject obj,
4327
                                               jobject obj,
4328
                                               jint index)
4328
                                               jint index)
4329
{
4329
{
4330
    mfrotation * mfrot = static_cast<mfrotation*>(getFieldValue(env, obj));
4330
    openvrml::mfrotation * mfrot = static_cast<openvrml::mfrotation*>(getFieldValue(env, obj));
4331
    if (!mfrot) { return; }
4331
    if (!mfrot) { return; }
4332
    if (!(size_t(index) < mfrot->value.size())) {
4332
    if (!(size_t(index) < mfrot->value.size())) {
4333
        env->ExceptionDescribe();
4333
        env->ExceptionDescribe();
Lines 4375-4382 Link Here
4375
                                                        jobjectArray value)
4375
                                                        jobjectArray value)
4376
{
4376
{
4377
    try {
4377
    try {
4378
        mfrotation * const mfrot =
4378
        openvrml::mfrotation * const mfrot =
4379
            static_cast<mfrotation *>(getFieldValue(env, obj));
4379
            static_cast<openvrml::mfrotation *>(getFieldValue(env, obj));
4380
        if (!mfrot) { return; }
4380
        if (!mfrot) { return; }
4381
        mfrot->value.resize(env->GetArrayLength(value));
4381
        mfrot->value.resize(env->GetArrayLength(value));
4382
        for (size_t i = 0; i < mfrot->value.size(); ++i) {
4382
        for (size_t i = 0; i < mfrot->value.size(); ++i) {
Lines 4413-4420 Link Here
4413
                                                       jfloatArray value)
4413
                                                       jfloatArray value)
4414
{
4414
{
4415
    try {
4415
    try {
4416
        mfrotation * const mfrot =
4416
        openvrml::mfrotation * const mfrot =
4417
                static_cast<mfrotation *>(getFieldValue(env, obj));
4417
                static_cast<openvrml::mfrotation *>(getFieldValue(env, obj));
4418
        if (!mfrot) { return; }
4418
        if (!mfrot) { return; }
4419
        mfrot->value.resize(size);
4419
        mfrot->value.resize(size);
4420
        jfloat * const r = env->GetFloatArrayElements(value, 0);
4420
        jfloat * const r = env->GetFloatArrayElements(value, 0);
Lines 4458-4467 Link Here
4458
                                                              jobject obj,
4458
                                                              jobject obj,
4459
                                                              jobject value)
4459
                                                              jobject value)
4460
{
4460
{
4461
    mfrotation * const mfrot =
4461
    openvrml::mfrotation * const mfrot =
4462
            static_cast<mfrotation *>(getFieldValue(env, obj));
4462
            static_cast<openvrml::mfrotation *>(getFieldValue(env, obj));
4463
    const mfrotation * const newMFRotation =
4463
    const openvrml::mfrotation * const newMFRotation =
4464
            static_cast<mfrotation *>(getFieldValue(env, value));
4464
            static_cast<openvrml::mfrotation *>(getFieldValue(env, value));
4465
    if (!mfrot || !newMFRotation) return;
4465
    if (!mfrot || !newMFRotation) return;
4466
    try {
4466
    try {
4467
        *mfrot = *newMFRotation; // Throws bad_alloc.
4467
        *mfrot = *newMFRotation; // Throws bad_alloc.
Lines 4492-4500 Link Here
4492
    jint index,
4492
    jint index,
4493
    jobject sfrotation_object)
4493
    jobject sfrotation_object)
4494
{
4494
{
4495
    mfrotation* mfrot = static_cast<mfrotation*>(getFieldValue(env, obj));
4495
    openvrml::mfrotation* mfrot = static_cast<openvrml::mfrotation*>(getFieldValue(env, obj));
4496
    sfrotation* sfrot =
4496
    openvrml::sfrotation* sfrot =
4497
        static_cast<sfrotation*>(getFieldValue(env, sfrotation_object));
4497
        static_cast<openvrml::sfrotation*>(getFieldValue(env, sfrotation_object));
4498
    if (!mfrot || !sfrot) { return; }
4498
    if (!mfrot || !sfrot) { return; }
4499
    mfrot->value[index] = sfrot->value;
4499
    mfrot->value[index] = sfrot->value;
4500
}
4500
}
Lines 4515-4521 Link Here
4515
                                                         jfloat axisZ,
4515
                                                         jfloat axisZ,
4516
                                                         jfloat angle)
4516
                                                         jfloat angle)
4517
{
4517
{
4518
    mfrotation * mfrot = static_cast<mfrotation*>(getFieldValue(env, obj));
4518
    openvrml::mfrotation * mfrot = static_cast<openvrml::mfrotation*>(getFieldValue(env, obj));
4519
    if (!mfrot) { return; }
4519
    if (!mfrot) { return; }
4520
    mfrot->value[index] = rotation(axisX, axisY, axisZ, angle);
4520
    mfrot->value[index] = rotation(axisX, axisY, axisZ, angle);
4521
}
4521
}
Lines 4533-4541 Link Here
4533
        jobject obj,
4533
        jobject obj,
4534
        jobject sfrotation_object)
4534
        jobject sfrotation_object)
4535
{
4535
{
4536
    mfrotation * mfrot = static_cast<mfrotation *>(getFieldValue(env, obj));
4536
    openvrml::mfrotation * mfrot = static_cast<openvrml::mfrotation *>(getFieldValue(env, obj));
4537
    sfrotation * sfrot =
4537
    openvrml::sfrotation * sfrot =
4538
        static_cast<sfrotation *>(getFieldValue(env, sfrotation_object));
4538
        static_cast<openvrml::sfrotation *>(getFieldValue(env, sfrotation_object));
4539
    if (!mfrot || !sfrot) { return; }
4539
    if (!mfrot || !sfrot) { return; }
4540
    try {
4540
    try {
4541
        mfrot->value.push_back(sfrot->value);
4541
        mfrot->value.push_back(sfrot->value);
Lines 4583-4589 Link Here
4583
                                                       jfloat axisZ,
4583
                                                       jfloat axisZ,
4584
                                                       jfloat angle)
4584
                                                       jfloat angle)
4585
{
4585
{
4586
    mfrotation * mfrot = static_cast<mfrotation*>(getFieldValue(env, obj));
4586
    openvrml::mfrotation * mfrot = static_cast<openvrml::mfrotation*>(getFieldValue(env, obj));
4587
    if (!mfrot) { return; }
4587
    if (!mfrot) { return; }
4588
    try {
4588
    try {
4589
        mfrot->value.push_back(rotation(axisX, axisY, axisZ, angle));
4589
        mfrot->value.push_back(rotation(axisX, axisY, axisZ, angle));
Lines 4606-4613 Link Here
4606
    jint index,
4606
    jint index,
4607
    jobject sfrotation_object)
4607
    jobject sfrotation_object)
4608
{
4608
{
4609
    sfrotation * sfrot =
4609
    openvrml::sfrotation * sfrot =
4610
        static_cast<sfrotation*>(getFieldValue(env, sfrotation_object));
4610
        static_cast<openvrml::sfrotation*>(getFieldValue(env, sfrotation_object));
4611
    if (!sfrot) { return; }
4611
    if (!sfrot) { return; }
4612
    Java_vrml_field_MFRotation_insertValue__IFFFF(env, obj, index,
4612
    Java_vrml_field_MFRotation_insertValue__IFFFF(env, obj, index,
4613
                                                  sfrot->value.x(),
4613
                                                  sfrot->value.x(),
Lines 4632-4638 Link Here
4632
                                                           jfloat axisZ,
4632
                                                           jfloat axisZ,
4633
                                                           jfloat angle)
4633
                                                           jfloat angle)
4634
{
4634
{
4635
    mfrotation * mfrot = static_cast<mfrotation*>(getFieldValue(env, obj));
4635
    openvrml::mfrotation * mfrot = static_cast<openvrml::mfrotation*>(getFieldValue(env, obj));
4636
    if (!mfrot) { return; }
4636
    if (!mfrot) { return; }
4637
    if (!(size_t(index) < mfrot->value.size())) {
4637
    if (!(size_t(index) < mfrot->value.size())) {
4638
        env->ExceptionDescribe();
4638
        env->ExceptionDescribe();
Lines 4677-4683 Link Here
4677
  (JNIEnv *env, jobject obj, jint size, jobjectArray jarr)
4677
  (JNIEnv *env, jobject obj, jint size, jobjectArray jarr)
4678
{
4678
{
4679
    try {
4679
    try {
4680
        std::auto_ptr<mfstring> mfstring(new mfstring(size));
4680
        std::auto_ptr<openvrml::mfstring> mfstring(new openvrml::mfstring(size));
4681
4681
4682
        for (jint i = 0; i < size; i++) {
4682
        for (jint i = 0; i < size; i++) {
4683
            jstring el = (jstring) env->GetObjectArrayElement(jarr, i);
4683
            jstring el = (jstring) env->GetObjectArrayElement(jarr, i);
Lines 4704-4710 Link Here
4704
4704
4705
jint JNICALL Java_vrml_field_ConstMFString_getSize(JNIEnv * env, jobject obj)
4705
jint JNICALL Java_vrml_field_ConstMFString_getSize(JNIEnv * env, jobject obj)
4706
{
4706
{
4707
    mfstring * mfstr = static_cast<mfstring *>(getFieldValue(env, obj));
4707
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring *>(getFieldValue(env, obj));
4708
    if (!mfstr) { return 0; }
4708
    if (!mfstr) { return 0; }
4709
    return mfstr->value.size();
4709
    return mfstr->value.size();
4710
}
4710
}
Lines 4713-4719 Link Here
4713
                                                    jobject obj,
4713
                                                    jobject obj,
4714
                                                    jobjectArray jarr)
4714
                                                    jobjectArray jarr)
4715
{
4715
{
4716
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4716
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4717
    if (!mfstr) return;
4717
    if (!mfstr) return;
4718
    for (size_t i = 0; i < mfstr->value.size(); i++) {
4718
    for (size_t i = 0; i < mfstr->value.size(); i++) {
4719
        jstring jstr;
4719
        jstring jstr;
Lines 4729-4735 Link Here
4729
                                                        jobject obj,
4729
                                                        jobject obj,
4730
                                                        jint index)
4730
                                                        jint index)
4731
{
4731
{
4732
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4732
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4733
    if (!mfstr) { return 0; }
4733
    if (!mfstr) { return 0; }
4734
    jstring jstr = env->NewStringUTF(mfstr->value[index].c_str());
4734
    jstring jstr = env->NewStringUTF(mfstr->value[index].c_str());
4735
    return jstr;
4735
    return jstr;
Lines 4762-4768 Link Here
4762
4762
4763
void JNICALL Java_vrml_field_MFString_clear(JNIEnv * env, jobject obj)
4763
void JNICALL Java_vrml_field_MFString_clear(JNIEnv * env, jobject obj)
4764
{
4764
{
4765
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4765
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4766
    if (!mfstr) { return; }
4766
    if (!mfstr) { return; }
4767
    mfstr->value.clear();
4767
    mfstr->value.clear();
4768
}
4768
}
Lines 4771-4777 Link Here
4771
                                             jobject obj,
4771
                                             jobject obj,
4772
                                             jint index)
4772
                                             jint index)
4773
{
4773
{
4774
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4774
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4775
    if (!mfstr) { return; }
4775
    if (!mfstr) { return; }
4776
    if (!(size_t(index) < mfstr->value.size())) {
4776
    if (!(size_t(index) < mfstr->value.size())) {
4777
        env->ExceptionDescribe();
4777
        env->ExceptionDescribe();
Lines 4807-4813 Link Here
4807
                                                          jobjectArray jarr)
4807
                                                          jobjectArray jarr)
4808
{
4808
{
4809
    try {
4809
    try {
4810
        mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4810
        openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4811
        if (!mfstr) { return; }
4811
        if (!mfstr) { return; }
4812
4812
4813
        jsize entries = env->GetArrayLength(jarr);
4813
        jsize entries = env->GetArrayLength(jarr);
Lines 4838-4845 Link Here
4838
                                                          jobject obj,
4838
                                                          jobject obj,
4839
                                                          jobject value)
4839
                                                          jobject value)
4840
{
4840
{
4841
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4841
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4842
    mfstring * newMFString = static_cast<mfstring*>(getFieldValue(env, value));
4842
    openvrml::mfstring * newMFString = static_cast<openvrml::mfstring*>(getFieldValue(env, value));
4843
    if (!mfstr || !newMFString) return;
4843
    if (!mfstr || !newMFString) return;
4844
4844
4845
    try {
4845
    try {
Lines 4869-4875 Link Here
4869
                                                         jint index,
4869
                                                         jint index,
4870
                                                         jstring value)
4870
                                                         jstring value)
4871
{
4871
{
4872
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4872
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4873
    if (!mfstr) { return; }
4873
    if (!mfstr) { return; }
4874
    const char * utf8chars = env->GetStringUTFChars(value, 0);
4874
    const char * utf8chars = env->GetStringUTFChars(value, 0);
4875
    if (!utf8chars) { return; } // OutOfMemoryError
4875
    if (!utf8chars) { return; } // OutOfMemoryError
Lines 4884-4890 Link Here
4884
    jint index,
4884
    jint index,
4885
    jobject sfstring_object)
4885
    jobject sfstring_object)
4886
{
4886
{
4887
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4887
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4888
    sfstring * sfstr =
4888
    sfstring * sfstr =
4889
        static_cast<sfstring*>(getFieldValue(env, sfstring_object));
4889
        static_cast<sfstring*>(getFieldValue(env, sfstring_object));
4890
    if (!mfstr || !sfstr) { return; }
4890
    if (!mfstr || !sfstr) { return; }
Lines 4911-4917 Link Here
4911
                                                       jobject obj,
4911
                                                       jobject obj,
4912
                                                       jstring value)
4912
                                                       jstring value)
4913
{
4913
{
4914
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4914
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4915
    if (!mfstr) { return; }
4915
    if (!mfstr) { return; }
4916
    const char * utf8chars = env->GetStringUTFChars(value, 0);
4916
    const char * utf8chars = env->GetStringUTFChars(value, 0);
4917
    if (!utf8chars) { return; } // OutOfMemoryError
4917
    if (!utf8chars) { return; } // OutOfMemoryError
Lines 4943-4949 Link Here
4943
    jobject obj,
4943
    jobject obj,
4944
    jobject sfstring_object)
4944
    jobject sfstring_object)
4945
{
4945
{
4946
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4946
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4947
    sfstring * sfstr =
4947
    sfstring * sfstr =
4948
        static_cast<sfstring*>(getFieldValue(env, sfstring_object));
4948
        static_cast<sfstring*>(getFieldValue(env, sfstring_object));
4949
    if (!mfstr || !sfstr) { return; }
4949
    if (!mfstr || !sfstr) { return; }
Lines 4990-4996 Link Here
4990
                                                           jint index,
4990
                                                           jint index,
4991
                                                           jstring value)
4991
                                                           jstring value)
4992
{
4992
{
4993
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
4993
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
4994
    if (!mfstr) { return; }
4994
    if (!mfstr) { return; }
4995
    const char * utf8chars = env->GetStringUTFChars(value, 0);
4995
    const char * utf8chars = env->GetStringUTFChars(value, 0);
4996
    if (!utf8chars) { return; } // OutOfMemoryError
4996
    if (!utf8chars) { return; } // OutOfMemoryError
Lines 5024-5030 Link Here
5024
    jint index,
5024
    jint index,
5025
    jobject sfstring_object)
5025
    jobject sfstring_object)
5026
{
5026
{
5027
    mfstring * mfstr = static_cast<mfstring*>(getFieldValue(env, obj));
5027
    openvrml::mfstring * mfstr = static_cast<openvrml::mfstring*>(getFieldValue(env, obj));
5028
    sfstring * sfstr =
5028
    sfstring * sfstr =
5029
        static_cast<sfstring*>(getFieldValue(env, sfstring_object));
5029
        static_cast<sfstring*>(getFieldValue(env, sfstring_object));
5030
    if (!mfstr || !sfstr) { return; }
5030
    if (!mfstr || !sfstr) { return; }
Lines 5076-5082 Link Here
5076
{
5076
{
5077
    try {
5077
    try {
5078
        jdouble *pjd = env->GetDoubleArrayElements(value, 0);
5078
        jdouble *pjd = env->GetDoubleArrayElements(value, 0);
5079
        std::auto_ptr<mftime> mftime(new mftime(pjd, pjd + size));
5079
        std::auto_ptr<openvrml::mftime> mftime(new openvrml::mftime(pjd, pjd + size));
5080
        env->ReleaseDoubleArrayElements(value, pjd, JNI_ABORT);
5080
        env->ReleaseDoubleArrayElements(value, pjd, JNI_ABORT);
5081
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
5081
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
5082
        if (!fid) { return; }
5082
        if (!fid) { return; }
Lines 5095-5101 Link Here
5095
5095
5096
jint JNICALL Java_vrml_field_ConstMFTime_getSize(JNIEnv * env, jobject obj)
5096
jint JNICALL Java_vrml_field_ConstMFTime_getSize(JNIEnv * env, jobject obj)
5097
{
5097
{
5098
    mftime * mft = static_cast<mftime *>(getFieldValue(env, obj));
5098
    openvrml::mftime * mft = static_cast<openvrml::mftime *>(getFieldValue(env, obj));
5099
    if (!mft) { return 0; }
5099
    if (!mft) { return 0; }
5100
    return mft->value.size();
5100
    return mft->value.size();
5101
}
5101
}
Lines 5104-5110 Link Here
5104
                                                  jobject obj,
5104
                                                  jobject obj,
5105
                                                  jdoubleArray jarr)
5105
                                                  jdoubleArray jarr)
5106
{
5106
{
5107
    mftime * const mft = static_cast<mftime*>(getFieldValue(env, obj));
5107
    openvrml::mftime * const mft = static_cast<openvrml::mftime*>(getFieldValue(env, obj));
5108
    if (!mft) { return; }
5108
    if (!mft) { return; }
5109
    const size_t size = mft->value.size();
5109
    const size_t size = mft->value.size();
5110
    if (size > 0) {
5110
    if (size > 0) {
Lines 5117-5123 Link Here
5117
                                                      jobject obj,
5117
                                                      jobject obj,
5118
                                                      jint index)
5118
                                                      jint index)
5119
{
5119
{
5120
    mftime * mft = static_cast<mftime *>(getFieldValue(env, obj));
5120
    openvrml::mftime * mft = static_cast<openvrml::mftime *>(getFieldValue(env, obj));
5121
    if (!mft) { return 0.0; }
5121
    if (!mft) { return 0.0; }
5122
    jdouble retval;
5122
    jdouble retval;
5123
    try {
5123
    try {
Lines 5163-5169 Link Here
5163
5163
5164
void JNICALL Java_vrml_field_MFTime_clear(JNIEnv * env, jobject obj)
5164
void JNICALL Java_vrml_field_MFTime_clear(JNIEnv * env, jobject obj)
5165
{
5165
{
5166
    mftime * const mft = static_cast<mftime *>(getFieldValue(env, obj));
5166
    openvrml::mftime * const mft = static_cast<openvrml::mftime *>(getFieldValue(env, obj));
5167
    if (!mft) { return; }
5167
    if (!mft) { return; }
5168
    mft->value.clear();
5168
    mft->value.clear();
5169
}
5169
}
Lines 5172-5178 Link Here
5172
                                           jobject obj,
5172
                                           jobject obj,
5173
                                           jint index)
5173
                                           jint index)
5174
{
5174
{
5175
    mftime * mft = static_cast<mftime*>(getFieldValue(env, obj));
5175
    openvrml::mftime * mft = static_cast<openvrml::mftime*>(getFieldValue(env, obj));
5176
    if (!mft) { return; }
5176
    if (!mft) { return; }
5177
    if (!(size_t(index) < mft->value.size())) {
5177
    if (!(size_t(index) < mft->value.size())) {
5178
        env->ExceptionDescribe();
5178
        env->ExceptionDescribe();
Lines 5207-5213 Link Here
5207
                                                   const jdoubleArray value)
5207
                                                   const jdoubleArray value)
5208
{
5208
{
5209
    try {
5209
    try {
5210
        mftime * const mft = static_cast<mftime *>(getFieldValue(env, obj));
5210
        openvrml::mftime * const mft = static_cast<openvrml::mftime *>(getFieldValue(env, obj));
5211
        if (!mft) { return; }
5211
        if (!mft) { return; }
5212
        mft->value.resize(size); // Throws std::bad_alloc.
5212
        mft->value.resize(size); // Throws std::bad_alloc.
5213
        jdouble * const times = env->GetDoubleArrayElements(value, 0);
5213
        jdouble * const times = env->GetDoubleArrayElements(value, 0);
Lines 5249-5257 Link Here
5249
                                                      jobject obj,
5249
                                                      jobject obj,
5250
                                                      jobject value)
5250
                                                      jobject value)
5251
{
5251
{
5252
    mftime * const mft = static_cast<mftime *>(getFieldValue(env, obj));
5252
    openvrml::mftime * const mft = static_cast<openvrml::mftime *>(getFieldValue(env, obj));
5253
    const mftime * const newMFTime =
5253
    const openvrml::mftime * const newMFTime =
5254
            static_cast<mftime *>(getFieldValue(env, value));
5254
            static_cast<openvrml::mftime *>(getFieldValue(env, value));
5255
    if (!mft || !newMFTime) return;
5255
    if (!mft || !newMFTime) return;
5256
    try {
5256
    try {
5257
        *mft = *newMFTime; // Throws bad_alloc.
5257
        *mft = *newMFTime; // Throws bad_alloc.
Lines 5279-5285 Link Here
5279
                                                  jint index,
5279
                                                  jint index,
5280
                                                  jdouble value)
5280
                                                  jdouble value)
5281
{
5281
{
5282
    mftime * mft = static_cast<mftime*>(getFieldValue(env, obj));
5282
    openvrml::mftime * mft = static_cast<openvrml::mftime*>(getFieldValue(env, obj));
5283
    if (!mft) { return; }
5283
    if (!mft) { return; }
5284
    try {
5284
    try {
5285
        mft->value.at(index) = value;
5285
        mft->value.at(index) = value;
Lines 5303-5310 Link Here
5303
    jint index,
5303
    jint index,
5304
    jobject sftime_object)
5304
    jobject sftime_object)
5305
{
5305
{
5306
    mftime * mft = static_cast<mftime*>(getFieldValue(env, obj));
5306
    openvrml::mftime * mft = static_cast<openvrml::mftime*>(getFieldValue(env, obj));
5307
    sftime * sft = static_cast<sftime*>(getFieldValue(env, sftime_object));
5307
    openvrml::sftime * sft = static_cast<openvrml::sftime*>(getFieldValue(env, sftime_object));
5308
    if (!mft || !sft) { return; }
5308
    if (!mft || !sft) { return; }
5309
    try {
5309
    try {
5310
        mft->value.at(index) = sft->value;
5310
        mft->value.at(index) = sft->value;
Lines 5340-5346 Link Here
5340
                                                jobject obj,
5340
                                                jobject obj,
5341
                                                jdouble value)
5341
                                                jdouble value)
5342
{
5342
{
5343
    mftime * mft = static_cast<mftime *>(getFieldValue(env, obj));
5343
    openvrml::mftime * mft = static_cast<openvrml::mftime *>(getFieldValue(env, obj));
5344
    if (!mft) { return; }
5344
    if (!mft) { return; }
5345
    try {
5345
    try {
5346
        mft->value.push_back(value);
5346
        mft->value.push_back(value);
Lines 5369-5376 Link Here
5369
    jobject obj,
5369
    jobject obj,
5370
    jobject sftime_object)
5370
    jobject sftime_object)
5371
{
5371
{
5372
    mftime * mft = static_cast<mftime*>(getFieldValue(env, obj));
5372
    openvrml::mftime * mft = static_cast<openvrml::mftime*>(getFieldValue(env, obj));
5373
    sftime * sft = static_cast<sftime*>(getFieldValue(env, sftime_object));
5373
    openvrml::sftime * sft = static_cast<openvrml::sftime*>(getFieldValue(env, sftime_object));
5374
    if (!mft || !sft) { return; }
5374
    if (!mft || !sft) { return; }
5375
    try {
5375
    try {
5376
        mft->value.push_back(sft->value);
5376
        mft->value.push_back(sft->value);
Lines 5406-5412 Link Here
5406
                                                    jint index,
5406
                                                    jint index,
5407
                                                    jdouble value)
5407
                                                    jdouble value)
5408
{
5408
{
5409
    mftime * mft = static_cast<mftime*>(getFieldValue(env, obj));
5409
    openvrml::mftime * mft = static_cast<openvrml::mftime*>(getFieldValue(env, obj));
5410
    if (!mft) { return; }
5410
    if (!mft) { return; }
5411
    try {
5411
    try {
5412
        mft->value.insert(mft->value.begin() + index, value);
5412
        mft->value.insert(mft->value.begin() + index, value);
Lines 5429-5436 Link Here
5429
    jint index,
5429
    jint index,
5430
    jobject sftime_object)
5430
    jobject sftime_object)
5431
{
5431
{
5432
    mftime * mft = static_cast<mftime*>(getFieldValue(env, obj));
5432
    openvrml::mftime * mft = static_cast<openvrml::mftime*>(getFieldValue(env, obj));
5433
    sftime * sft = static_cast<sftime*>(getFieldValue(env, sftime_object));
5433
    openvrml::sftime * sft = static_cast<openvrml::sftime*>(getFieldValue(env, sftime_object));
5434
    if (!mft || !sft) { return; }
5434
    if (!mft || !sft) { return; }
5435
    try {
5435
    try {
5436
        mft->value.insert(mft->value.begin() + index, sft->value);
5436
        mft->value.insert(mft->value.begin() + index, sft->value);
Lines 5472-5478 Link Here
5472
                                                              jobjectArray jarr)
5472
                                                              jobjectArray jarr)
5473
{
5473
{
5474
    try {
5474
    try {
5475
        std::auto_ptr<mfvec2f> mfvec2f(new mfvec2f(env->GetArrayLength(jarr)));
5475
        std::auto_ptr<openvrml::mfvec2f> mfvec2f(new openvrml::mfvec2f(env->GetArrayLength(jarr)));
5476
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
5476
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
5477
        if (!fid) return;
5477
        if (!fid) return;
5478
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfvec2f.release()));
5478
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfvec2f.release()));
Lines 5495-5501 Link Here
5495
                                                             jfloatArray jarr)
5495
                                                             jfloatArray jarr)
5496
{
5496
{
5497
    try {
5497
    try {
5498
        std::auto_ptr<mfvec2f> mfvec2f(new mfvec2f(size));
5498
        std::auto_ptr<openvrml::mfvec2f> mfvec2f(new openvrml::mfvec2f(size));
5499
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
5499
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
5500
        if (!fid) return;
5500
        if (!fid) return;
5501
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfvec2f.release()));
5501
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfvec2f.release()));
Lines 5514-5520 Link Here
5514
5514
5515
jint JNICALL Java_vrml_field_ConstMFVec2f_getSize(JNIEnv * env, jobject obj)
5515
jint JNICALL Java_vrml_field_ConstMFVec2f_getSize(JNIEnv * env, jobject obj)
5516
{
5516
{
5517
    mfvec2f * mfv = static_cast<mfvec2f *>(getFieldValue(env, obj));
5517
    openvrml::mfvec2f * mfv = static_cast<openvrml::mfvec2f *>(getFieldValue(env, obj));
5518
    if (!mfv) { return 0; }
5518
    if (!mfv) { return 0; }
5519
    return mfv->value.size();
5519
    return mfv->value.size();
5520
}
5520
}
Lines 5523-5530 Link Here
5523
                                                          jobject obj,
5523
                                                          jobject obj,
5524
                                                          jobjectArray jarr)
5524
                                                          jobjectArray jarr)
5525
{
5525
{
5526
    const mfvec2f * const mfv =
5526
    const openvrml::mfvec2f * const mfv =
5527
            static_cast<mfvec2f *>(getFieldValue(env, obj));
5527
            static_cast<openvrml::mfvec2f *>(getFieldValue(env, obj));
5528
    if (!mfv) return;
5528
    if (!mfv) return;
5529
    for (size_t i = 0; i < mfv->value.size(); ++i) {
5529
    for (size_t i = 0; i < mfv->value.size(); ++i) {
5530
        jfloatArray element =
5530
        jfloatArray element =
Lines 5546-5553 Link Here
5546
                                                        jobject obj,
5546
                                                        jobject obj,
5547
                                                        jfloatArray jarr)
5547
                                                        jfloatArray jarr)
5548
{
5548
{
5549
    const mfvec2f * const mfv =
5549
    const openvrml::mfvec2f * const mfv =
5550
            static_cast<mfvec2f *>(getFieldValue(env, obj));
5550
            static_cast<openvrml::mfvec2f *>(getFieldValue(env, obj));
5551
    if (!mfv) return;
5551
    if (!mfv) return;
5552
    for (size_t i = 0; i < mfv->value.size(); ++i) {
5552
    for (size_t i = 0; i < mfv->value.size(); ++i) {
5553
        env->SetFloatArrayRegion(jarr, i * 2, 2,
5553
        env->SetFloatArrayRegion(jarr, i * 2, 2,
Lines 5570-5576 Link Here
5570
void JNICALL Java_vrml_field_ConstMFVec2f_get1Value__I_3F
5570
void JNICALL Java_vrml_field_ConstMFVec2f_get1Value__I_3F
5571
  (JNIEnv *env, jobject obj, jint element, jfloatArray jarr)
5571
  (JNIEnv *env, jobject obj, jint element, jfloatArray jarr)
5572
{
5572
{
5573
    mfvec2f* mfv = static_cast<mfvec2f*>(getFieldValue(env, obj));
5573
    openvrml::mfvec2f* mfv = static_cast<openvrml::mfvec2f*>(getFieldValue(env, obj));
5574
    if (!mfv) return;
5574
    if (!mfv) return;
5575
    try {
5575
    try {
5576
        jfloat * const arrayRegion =
5576
        jfloat * const arrayRegion =
Lines 5604-5614 Link Here
5604
        jint element,
5604
        jint element,
5605
        jobject sfvec2f_object)
5605
        jobject sfvec2f_object)
5606
{
5606
{
5607
    const mfvec2f * const mfv =
5607
    const openvrml::mfvec2f * const mfv =
5608
            static_cast<mfvec2f *>(getFieldValue(env, obj));
5608
            static_cast<openvrml::mfvec2f *>(getFieldValue(env, obj));
5609
    if (!mfv) return;
5609
    if (!mfv) return;
5610
    sfvec2f * const sfv =
5610
    openvrml::sfvec2f * const sfv =
5611
        static_cast<sfvec2f *>(getFieldValue(env, sfvec2f_object));
5611
        static_cast<openvrml::sfvec2f *>(getFieldValue(env, sfvec2f_object));
5612
    if (!sfv) { return; }
5612
    if (!sfv) { return; }
5613
    try {
5613
    try {
5614
        sfv->value = mfv->value.at(element);
5614
        sfv->value = mfv->value.at(element);
Lines 5658-5664 Link Here
5658
5658
5659
void JNICALL Java_vrml_field_MFVec2f_clear(JNIEnv * env, jobject obj)
5659
void JNICALL Java_vrml_field_MFVec2f_clear(JNIEnv * env, jobject obj)
5660
{
5660
{
5661
    mfvec2f * const mfv = static_cast<mfvec2f *>(getFieldValue(env, obj));
5661
    openvrml::mfvec2f * const mfv = static_cast<openvrml::mfvec2f *>(getFieldValue(env, obj));
5662
    if (!mfv) return;
5662
    if (!mfv) return;
5663
    mfv->value.clear();
5663
    mfv->value.clear();
5664
}
5664
}
Lines 5666-5672 Link Here
5666
void JNICALL Java_vrml_field_MFVec2f_delete
5666
void JNICALL Java_vrml_field_MFVec2f_delete
5667
  (JNIEnv *env, jobject obj, jint n)
5667
  (JNIEnv *env, jobject obj, jint n)
5668
{
5668
{
5669
    mfvec2f* mfv = static_cast<mfvec2f*>(getFieldValue(env, obj));
5669
    openvrml::mfvec2f* mfv = static_cast<openvrml::mfvec2f*>(getFieldValue(env, obj));
5670
    if (!mfv) return;
5670
    if (!mfv) return;
5671
    if (!(size_t(n) < mfv->value.size())) {
5671
    if (!(size_t(n) < mfv->value.size())) {
5672
        env->ExceptionDescribe();
5672
        env->ExceptionDescribe();
Lines 5730-5737 Link Here
5730
                                                     jobjectArray value)
5730
                                                     jobjectArray value)
5731
{
5731
{
5732
    try {
5732
    try {
5733
        mfvec2f * const mfv =
5733
        openvrml::mfvec2f * const mfv =
5734
                static_cast<mfvec2f *>(getFieldValue(env, obj));
5734
                static_cast<openvrml::mfvec2f *>(getFieldValue(env, obj));
5735
        if (!mfv) return;
5735
        if (!mfv) return;
5736
        mfv->value.resize(env->GetArrayLength(value)); // Throws bad_alloc.
5736
        mfv->value.resize(env->GetArrayLength(value)); // Throws bad_alloc.
5737
5737
Lines 5769-5776 Link Here
5769
                                                    jfloatArray value)
5769
                                                    jfloatArray value)
5770
{
5770
{
5771
    try {
5771
    try {
5772
        mfvec2f * const mfv =
5772
        openvrml::mfvec2f * const mfv =
5773
                static_cast<mfvec2f *>(getFieldValue(env, obj));
5773
                static_cast<openvrml::mfvec2f *>(getFieldValue(env, obj));
5774
        if (!mfv) return;
5774
        if (!mfv) return;
5775
        mfv->value.resize(size); // throws bad_alloc
5775
        mfv->value.resize(size); // throws bad_alloc
5776
        jfloat * const vecs = env->GetFloatArrayElements(value, 0);
5776
        jfloat * const vecs = env->GetFloatArrayElements(value, 0);
Lines 5812-5820 Link Here
5812
                                                        jobject obj,
5812
                                                        jobject obj,
5813
                                                        jobject value)
5813
                                                        jobject value)
5814
{
5814
{
5815
    mfvec2f * const mfv = static_cast<mfvec2f *>(getFieldValue(env, obj));
5815
    openvrml::mfvec2f * const mfv = static_cast<openvrml::mfvec2f *>(getFieldValue(env, obj));
5816
    const mfvec2f * const newMFVec2f =
5816
    const openvrml::mfvec2f * const newMFVec2f =
5817
            static_cast<mfvec2f *>(getFieldValue(env, value));
5817
            static_cast<openvrml::mfvec2f *>(getFieldValue(env, value));
5818
    if (!mfv || !newMFVec2f) return;
5818
    if (!mfv || !newMFVec2f) return;
5819
    try {
5819
    try {
5820
        *mfv = *newMFVec2f; // Throws bad_alloc.
5820
        *mfv = *newMFVec2f; // Throws bad_alloc.
Lines 5840-5846 Link Here
5840
void JNICALL Java_vrml_field_MFVec2f_set1Value__IFF
5840
void JNICALL Java_vrml_field_MFVec2f_set1Value__IFF
5841
  (JNIEnv *env, jobject obj, jint index, jfloat x, jfloat y)
5841
  (JNIEnv *env, jobject obj, jint index, jfloat x, jfloat y)
5842
{
5842
{
5843
    mfvec2f* mfv = static_cast<mfvec2f*>(getFieldValue(env, obj));
5843
    openvrml::mfvec2f* mfv = static_cast<openvrml::mfvec2f*>(getFieldValue(env, obj));
5844
    if (!mfv) return;
5844
    if (!mfv) return;
5845
    try {
5845
    try {
5846
        mfv->value.at(index) = vec2f(x, y);
5846
        mfv->value.at(index) = vec2f(x, y);
Lines 5861-5868 Link Here
5861
Java_vrml_field_MFVec2f_set1Value__ILvrml_field_ConstSFVec2f_2
5861
Java_vrml_field_MFVec2f_set1Value__ILvrml_field_ConstSFVec2f_2
5862
  (JNIEnv *env, jobject obj, jint index, jobject sfvec2fObj)
5862
  (JNIEnv *env, jobject obj, jint index, jobject sfvec2fObj)
5863
{
5863
{
5864
    mfvec2f* mfv = static_cast<mfvec2f*>(getFieldValue(env, obj));
5864
    openvrml::mfvec2f* mfv = static_cast<openvrml::mfvec2f*>(getFieldValue(env, obj));
5865
    sfvec2f* sfv = static_cast<sfvec2f*>(getFieldValue(env, sfvec2fObj));
5865
    openvrml::sfvec2f* sfv = static_cast<openvrml::sfvec2f*>(getFieldValue(env, sfvec2fObj));
5866
    if (!mfv || !sfv) return;
5866
    if (!mfv || !sfv) return;
5867
    try {
5867
    try {
5868
        mfv->value.at(index) = sfv->value;
5868
        mfv->value.at(index) = sfv->value;
Lines 5898-5904 Link Here
5898
void JNICALL Java_vrml_field_MFVec2f_addValue__FF
5898
void JNICALL Java_vrml_field_MFVec2f_addValue__FF
5899
  (JNIEnv *env, jobject obj, jfloat x, jfloat y)
5899
  (JNIEnv *env, jobject obj, jfloat x, jfloat y)
5900
{
5900
{
5901
    mfvec2f* mfv = static_cast<mfvec2f*>(getFieldValue(env, obj));
5901
    openvrml::mfvec2f* mfv = static_cast<openvrml::mfvec2f*>(getFieldValue(env, obj));
5902
    if (!mfv) return;
5902
    if (!mfv) return;
5903
    try {
5903
    try {
5904
        mfv->value.push_back(vec2f(x, y));
5904
        mfv->value.push_back(vec2f(x, y));
Lines 5925-5932 Link Here
5925
Java_vrml_field_MFVec2f_addValue__Lvrml_field_ConstSFVec2f_2
5925
Java_vrml_field_MFVec2f_addValue__Lvrml_field_ConstSFVec2f_2
5926
  (JNIEnv *env, jobject obj, jobject sfvec2fObj)
5926
  (JNIEnv *env, jobject obj, jobject sfvec2fObj)
5927
{
5927
{
5928
    mfvec2f* mfv = static_cast<mfvec2f*>(getFieldValue(env, obj));
5928
    openvrml::mfvec2f* mfv = static_cast<openvrml::mfvec2f*>(getFieldValue(env, obj));
5929
    sfvec2f* sfv = static_cast<sfvec2f*>(getFieldValue(env, sfvec2fObj));
5929
    openvrml::sfvec2f* sfv = static_cast<openvrml::sfvec2f*>(getFieldValue(env, sfvec2fObj));
5930
    if (!mfv || !sfv) return;
5930
    if (!mfv || !sfv) return;
5931
    try {
5931
    try {
5932
        mfv->value.push_back(sfv->value);
5932
        mfv->value.push_back(sfv->value);
Lines 5960-5966 Link Here
5960
void JNICALL Java_vrml_field_MFVec2f_insertValue__IFF
5960
void JNICALL Java_vrml_field_MFVec2f_insertValue__IFF
5961
  (JNIEnv *env, jobject obj, jint index, jfloat x, jfloat y)
5961
  (JNIEnv *env, jobject obj, jint index, jfloat x, jfloat y)
5962
{
5962
{
5963
    mfvec2f* mfv = static_cast<mfvec2f*>(getFieldValue(env, obj));
5963
    openvrml::mfvec2f* mfv = static_cast<openvrml::mfvec2f*>(getFieldValue(env, obj));
5964
    if (!mfv) return;
5964
    if (!mfv) return;
5965
    try {
5965
    try {
5966
        mfv->value.insert(mfv->value.begin() + index, vec2f(x, y));
5966
        mfv->value.insert(mfv->value.begin() + index, vec2f(x, y));
Lines 5980-5987 Link Here
5980
Java_vrml_field_MFVec2f_insertValue__ILvrml_field_ConstSFVec2f_2
5980
Java_vrml_field_MFVec2f_insertValue__ILvrml_field_ConstSFVec2f_2
5981
  (JNIEnv *env, jobject obj, jint index, jobject sfvec2fObj)
5981
  (JNIEnv *env, jobject obj, jint index, jobject sfvec2fObj)
5982
{
5982
{
5983
    mfvec2f* mfv = static_cast<mfvec2f*>(getFieldValue(env, obj));
5983
    openvrml::mfvec2f* mfv = static_cast<openvrml::mfvec2f*>(getFieldValue(env, obj));
5984
    sfvec2f* sfv = static_cast<sfvec2f*>(getFieldValue(env, sfvec2fObj));
5984
    openvrml::sfvec2f* sfv = static_cast<openvrml::sfvec2f*>(getFieldValue(env, sfvec2fObj));
5985
    if (!mfv || !sfv) return;
5985
    if (!mfv || !sfv) return;
5986
    try {
5986
    try {
5987
        mfv->value.insert(mfv->value.begin() + index, sfv->value);
5987
        mfv->value.insert(mfv->value.begin() + index, sfv->value);
Lines 6023-6029 Link Here
6023
                                                              jobjectArray jarr)
6023
                                                              jobjectArray jarr)
6024
{
6024
{
6025
    try {
6025
    try {
6026
        std::auto_ptr<mfvec3f> mfvec3f(new mfvec3f(env->GetArrayLength(jarr)));
6026
        std::auto_ptr<openvrml::mfvec3f> mfvec3f(new openvrml::mfvec3f(env->GetArrayLength(jarr)));
6027
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
6027
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
6028
        if (!fid) return;
6028
        if (!fid) return;
6029
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfvec3f.release()));
6029
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfvec3f.release()));
Lines 6046-6052 Link Here
6046
                                                             jfloatArray jarr)
6046
                                                             jfloatArray jarr)
6047
{
6047
{
6048
    try {
6048
    try {
6049
        std::auto_ptr<mfvec3f> mfvec3f(new mfvec3f(size));
6049
        std::auto_ptr<openvrml::mfvec3f> mfvec3f(new openvrml::mfvec3f(size));
6050
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
6050
        jfieldID fid = getFid(env, obj, "FieldPtr", "I");
6051
        if (!fid) return;
6051
        if (!fid) return;
6052
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfvec3f.release()));
6052
        env->SetIntField(obj, fid, reinterpret_cast<int>(mfvec3f.release()));
Lines 6065-6071 Link Here
6065
6065
6066
jint JNICALL Java_vrml_field_ConstMFVec3f_getSize(JNIEnv * env, jobject obj)
6066
jint JNICALL Java_vrml_field_ConstMFVec3f_getSize(JNIEnv * env, jobject obj)
6067
{
6067
{
6068
    mfvec3f * mfv = static_cast<mfvec3f *>(getFieldValue(env, obj));
6068
    openvrml::mfvec3f * mfv = static_cast<openvrml::mfvec3f *>(getFieldValue(env, obj));
6069
    if (!mfv) return 0;
6069
    if (!mfv) return 0;
6070
    return mfv->value.size();
6070
    return mfv->value.size();
6071
}
6071
}
Lines 6074-6081 Link Here
6074
                                                          jobject obj,
6074
                                                          jobject obj,
6075
                                                          jobjectArray jarr)
6075
                                                          jobjectArray jarr)
6076
{
6076
{
6077
    const mfvec3f * const mfv =
6077
    const openvrml::mfvec3f * const mfv =
6078
            static_cast<mfvec3f *>(getFieldValue(env, obj));
6078
            static_cast<openvrml::mfvec3f *>(getFieldValue(env, obj));
6079
    if (!mfv) return;
6079
    if (!mfv) return;
6080
    for (size_t i = 0; i < mfv->value.size(); ++i) {
6080
    for (size_t i = 0; i < mfv->value.size(); ++i) {
6081
        jfloatArray element =
6081
        jfloatArray element =
Lines 6097-6104 Link Here
6097
                                                        jobject obj,
6097
                                                        jobject obj,
6098
                                                        jfloatArray jarr)
6098
                                                        jfloatArray jarr)
6099
{
6099
{
6100
    const mfvec3f * const mfv =
6100
    const openvrml::mfvec3f * const mfv =
6101
            static_cast<mfvec3f *>(getFieldValue(env, obj));
6101
            static_cast<openvrml::mfvec3f *>(getFieldValue(env, obj));
6102
    if (!mfv) return;
6102
    if (!mfv) return;
6103
    for (size_t i = 0; i < mfv->value.size(); ++i) {
6103
    for (size_t i = 0; i < mfv->value.size(); ++i) {
6104
        env->SetFloatArrayRegion(jarr, i * 3, 3,
6104
        env->SetFloatArrayRegion(jarr, i * 3, 3,
Lines 6121-6127 Link Here
6121
void JNICALL Java_vrml_field_ConstMFVec3f_get1Value__I_3F
6121
void JNICALL Java_vrml_field_ConstMFVec3f_get1Value__I_3F
6122
  (JNIEnv *env, jobject obj, jint element, jfloatArray jarr)
6122
  (JNIEnv *env, jobject obj, jint element, jfloatArray jarr)
6123
{
6123
{
6124
    mfvec3f* mfv = static_cast<mfvec3f*>(getFieldValue(env, obj));
6124
    openvrml::mfvec3f* mfv = static_cast<openvrml::mfvec3f*>(getFieldValue(env, obj));
6125
    if (!mfv) return;
6125
    if (!mfv) return;
6126
    try {
6126
    try {
6127
        jfloat * const arrayRegion =
6127
        jfloat * const arrayRegion =
Lines 6155-6165 Link Here
6155
        jint element,
6155
        jint element,
6156
        jobject sfvec3fObj)
6156
        jobject sfvec3fObj)
6157
{
6157
{
6158
    const mfvec3f * const mfv =
6158
    const openvrml::mfvec3f * const mfv =
6159
            static_cast<mfvec3f *>(getFieldValue(env, obj));
6159
            static_cast<openvrml::mfvec3f *>(getFieldValue(env, obj));
6160
    if (!mfv) return;
6160
    if (!mfv) return;
6161
    sfvec3f * const sfv =
6161
    openvrml::sfvec3f * const sfv =
6162
            static_cast<sfvec3f *>(getFieldValue(env, sfvec3fObj));
6162
            static_cast<openvrml::sfvec3f *>(getFieldValue(env, sfvec3fObj));
6163
    if (!sfv) return;
6163
    if (!sfv) return;
6164
    try {
6164
    try {
6165
        sfv->value = mfv->value.at(element);
6165
        sfv->value = mfv->value.at(element);
Lines 6209-6215 Link Here
6209
6209
6210
void JNICALL Java_vrml_field_MFVec3f_clear(JNIEnv * env, jobject obj)
6210
void JNICALL Java_vrml_field_MFVec3f_clear(JNIEnv * env, jobject obj)
6211
{
6211
{
6212
    mfvec3f * const mfv = static_cast<mfvec3f *>(getFieldValue(env, obj));
6212
    openvrml::mfvec3f * const mfv = static_cast<openvrml::mfvec3f *>(getFieldValue(env, obj));
6213
    if (!mfv) return;
6213
    if (!mfv) return;
6214
    mfv->value.clear();
6214
    mfv->value.clear();
6215
}
6215
}
Lines 6217-6223 Link Here
6217
void JNICALL Java_vrml_field_MFVec3f_delete
6217
void JNICALL Java_vrml_field_MFVec3f_delete
6218
  (JNIEnv *env, jobject obj, jint n)
6218
  (JNIEnv *env, jobject obj, jint n)
6219
{
6219
{
6220
    mfvec3f* mfv = static_cast<mfvec3f*>(getFieldValue(env, obj));
6220
    openvrml::mfvec3f* mfv = static_cast<openvrml::mfvec3f*>(getFieldValue(env, obj));
6221
    if (!mfv) return;
6221
    if (!mfv) return;
6222
    if (!(size_t(n) < mfv->value.size())) {
6222
    if (!(size_t(n) < mfv->value.size())) {
6223
        env->ExceptionDescribe();
6223
        env->ExceptionDescribe();
Lines 6281-6288 Link Here
6281
                                                     jobjectArray value)
6281
                                                     jobjectArray value)
6282
{
6282
{
6283
    try {
6283
    try {
6284
        mfvec3f * const mfv =
6284
        openvrml::mfvec3f * const mfv =
6285
                static_cast<mfvec3f *>(getFieldValue(env, obj));
6285
                static_cast<openvrml::mfvec3f *>(getFieldValue(env, obj));
6286
        if (!mfv) return;
6286
        if (!mfv) return;
6287
        mfv->value.resize(env->GetArrayLength(value)); // Throws bad_alloc.
6287
        mfv->value.resize(env->GetArrayLength(value)); // Throws bad_alloc.
6288
6288
Lines 6320-6327 Link Here
6320
                                                    jfloatArray value)
6320
                                                    jfloatArray value)
6321
{
6321
{
6322
    try {
6322
    try {
6323
        mfvec3f * const mfv =
6323
        openvrml::mfvec3f * const mfv =
6324
                static_cast<mfvec3f *>(getFieldValue(env, obj));
6324
                static_cast<openvrml::mfvec3f *>(getFieldValue(env, obj));
6325
        if (!mfv) return;
6325
        if (!mfv) return;
6326
        mfv->value.resize(size); // Throws std::bad_alloc.
6326
        mfv->value.resize(size); // Throws std::bad_alloc.
6327
        jfloat * const vecs = env->GetFloatArrayElements(value, 0);
6327
        jfloat * const vecs = env->GetFloatArrayElements(value, 0);
Lines 6363-6371 Link Here
6363
                                                        jobject obj,
6363
                                                        jobject obj,
6364
                                                        jobject value)
6364
                                                        jobject value)
6365
{
6365
{
6366
    mfvec3f * const mfv = static_cast<mfvec3f *>(getFieldValue(env, obj));
6366
    openvrml::mfvec3f * const mfv = static_cast<openvrml::mfvec3f *>(getFieldValue(env, obj));
6367
    const mfvec3f * const newMFVec3f =
6367
    const openvrml::mfvec3f * const newMFVec3f =
6368
            static_cast<mfvec3f *>(getFieldValue(env, value));
6368
            static_cast<openvrml::mfvec3f *>(getFieldValue(env, value));
6369
    if (!mfv || !newMFVec3f) return;
6369
    if (!mfv || !newMFVec3f) return;
6370
    try {
6370
    try {
6371
        *mfv = *newMFVec3f; // Throws bad_alloc.
6371
        *mfv = *newMFVec3f; // Throws bad_alloc.
Lines 6391-6397 Link Here
6391
void JNICALL Java_vrml_field_MFVec3f_set1Value__IFFF
6391
void JNICALL Java_vrml_field_MFVec3f_set1Value__IFFF
6392
  (JNIEnv *env, jobject obj, jint index, jfloat x, jfloat y, jfloat z)
6392
  (JNIEnv *env, jobject obj, jint index, jfloat x, jfloat y, jfloat z)
6393
{
6393
{
6394
    mfvec3f* mfv = static_cast<mfvec3f*>(getFieldValue(env, obj));
6394
    openvrml::mfvec3f* mfv = static_cast<openvrml::mfvec3f*>(getFieldValue(env, obj));
6395
    if (!mfv) return;
6395
    if (!mfv) return;
6396
    try {
6396
    try {
6397
        mfv->value.at(index) = vec3f(x, y, z);
6397
        mfv->value.at(index) = vec3f(x, y, z);
Lines 6412-6419 Link Here
6412
Java_vrml_field_MFVec3f_set1Value__ILvrml_field_ConstSFVec3f_2
6412
Java_vrml_field_MFVec3f_set1Value__ILvrml_field_ConstSFVec3f_2
6413
  (JNIEnv *env, jobject obj, jint index, jobject sfvec3fObj)
6413
  (JNIEnv *env, jobject obj, jint index, jobject sfvec3fObj)
6414
{
6414
{
6415
    mfvec3f* mfv = static_cast<mfvec3f*>(getFieldValue(env, obj));
6415
    openvrml::mfvec3f* mfv = static_cast<openvrml::mfvec3f*>(getFieldValue(env, obj));
6416
    sfvec3f* sfv = static_cast<sfvec3f*>(getFieldValue(env, sfvec3fObj));
6416
    openvrml::sfvec3f* sfv = static_cast<openvrml::sfvec3f*>(getFieldValue(env, sfvec3fObj));
6417
    if (!mfv || !sfv) return;
6417
    if (!mfv || !sfv) return;
6418
    try {
6418
    try {
6419
        mfv->value.at(index) = sfv->value;
6419
        mfv->value.at(index) = sfv->value;
Lines 6450-6456 Link Here
6450
void JNICALL Java_vrml_field_MFVec3f_addValue__FFF
6450
void JNICALL Java_vrml_field_MFVec3f_addValue__FFF
6451
  (JNIEnv *env, jobject obj, jfloat x, jfloat y, jfloat z)
6451
  (JNIEnv *env, jobject obj, jfloat x, jfloat y, jfloat z)
6452
{
6452
{
6453
    mfvec3f* mfv = static_cast<mfvec3f*>(getFieldValue(env, obj));
6453
    openvrml::mfvec3f* mfv = static_cast<openvrml::mfvec3f*>(getFieldValue(env, obj));
6454
    if (!mfv) return;
6454
    if (!mfv) return;
6455
    try {
6455
    try {
6456
        mfv->value.push_back(vec3f(x, y, z));
6456
        mfv->value.push_back(vec3f(x, y, z));
Lines 6477-6484 Link Here
6477
Java_vrml_field_MFVec3f_addValue__Lvrml_field_ConstSFVec3f_2
6477
Java_vrml_field_MFVec3f_addValue__Lvrml_field_ConstSFVec3f_2
6478
  (JNIEnv *env, jobject obj, jobject sfvec3fObj)
6478
  (JNIEnv *env, jobject obj, jobject sfvec3fObj)
6479
{
6479
{
6480
    mfvec3f* mfv = static_cast<mfvec3f*>(getFieldValue(env, obj));
6480
    openvrml::mfvec3f* mfv = static_cast<openvrml::mfvec3f*>(getFieldValue(env, obj));
6481
    sfvec3f* sfv = static_cast<sfvec3f*>(getFieldValue(env, sfvec3fObj));
6481
    openvrml::sfvec3f* sfv = static_cast<openvrml::sfvec3f*>(getFieldValue(env, sfvec3fObj));
6482
    if (!mfv || !sfv) return;
6482
    if (!mfv || !sfv) return;
6483
    try {
6483
    try {
6484
        mfv->value.push_back(sfv->value);
6484
        mfv->value.push_back(sfv->value);
Lines 6516-6522 Link Here
6516
                                                       jfloat y,
6516
                                                       jfloat y,
6517
                                                       jfloat z)
6517
                                                       jfloat z)
6518
{
6518
{
6519
    mfvec3f* mfv = static_cast<mfvec3f*>(getFieldValue(env, obj));
6519
    openvrml::mfvec3f* mfv = static_cast<openvrml::mfvec3f*>(getFieldValue(env, obj));
6520
    if (!mfv) { return; }
6520
    if (!mfv) { return; }
6521
    if (!(size_t(index) < mfv->value.size())) {
6521
    if (!(size_t(index) < mfv->value.size())) {
6522
        env->ExceptionDescribe();
6522
        env->ExceptionDescribe();
Lines 6547-6553 Link Here
6547
Java_vrml_field_MFVec3f_insertValue__ILvrml_field_ConstSFVec3f_2
6547
Java_vrml_field_MFVec3f_insertValue__ILvrml_field_ConstSFVec3f_2
6548
  (JNIEnv *env, jobject obj, jint index, jobject sfvec3fObj)
6548
  (JNIEnv *env, jobject obj, jint index, jobject sfvec3fObj)
6549
{
6549
{
6550
    sfvec3f* sfv = static_cast<sfvec3f*>(getFieldValue(env, sfvec3fObj));
6550
    openvrml::sfvec3f* sfv = static_cast<openvrml::sfvec3f*>(getFieldValue(env, sfvec3fObj));
6551
    if (!sfv) { return; }
6551
    if (!sfv) { return; }
6552
    Java_vrml_field_MFVec3f_insertValue__IFFF(env, obj, index,
6552
    Java_vrml_field_MFVec3f_insertValue__IFFF(env, obj, index,
6553
                                              sfv->value.x(),
6553
                                              sfv->value.x(),
(-)src/libopenvrml/openvrml/scope.h (+1 lines)
Lines 28-33 Link Here
28
#   include <string>
28
#   include <string>
29
#   include <openvrml/node_type_ptr.h>
29
#   include <openvrml/node_type_ptr.h>
30
#   include <openvrml/scope_ptr.h>
30
#   include <openvrml/scope_ptr.h>
31
#   include <openvrml/node.h>
31
32
32
namespace openvrml {
33
namespace openvrml {
33
34
(-)src/libopenvrml/openvrml/script.cpp (-9 / +9 lines)
Lines 1856-1862 Link Here
1856
1856
1857
    case field_value::sfcolor_id:
1857
    case field_value::sfcolor_id:
1858
        {
1858
        {
1859
            using openvrml::sfcolor
1859
            using openvrml::sfcolor;
1860
            const sfcolor & c = static_cast<const sfcolor &>(fieldValue);
1860
            const sfcolor & c = static_cast<const sfcolor &>(fieldValue);
1861
            if (!SFColor::toJsval(c.value, this->cx, globalObj, &rval)) {
1861
            if (!SFColor::toJsval(c.value, this->cx, globalObj, &rval)) {
1862
                rval = JSVAL_NULL;
1862
                rval = JSVAL_NULL;
Lines 3056-3062 Link Here
3056
3056
3057
        auto_ptr<openvrml::sfcolor>
3057
        auto_ptr<openvrml::sfcolor>
3058
            sfcolor(new openvrml::sfcolor(color(rgb[0], rgb[1], rgb[2])));
3058
            sfcolor(new openvrml::sfcolor(color(rgb[0], rgb[1], rgb[2])));
3059
        auto_ptr<sfdata> sfdata(new sfdata(sfcolor.get()));
3059
        auto_ptr<sfield::sfdata> sfdata(new sfield::sfdata(sfcolor.get()));
3060
        sfcolor.release();
3060
        sfcolor.release();
3061
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
3061
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
3062
        sfdata.release();
3062
        sfdata.release();
Lines 3236-3242 Link Here
3236
        std::auto_ptr<openvrml::sfimage>
3236
        std::auto_ptr<openvrml::sfimage>
3237
                sfimageClone(static_cast<openvrml::sfimage *>
3237
                sfimageClone(static_cast<openvrml::sfimage *>
3238
                    (sfimage.clone().release()));
3238
                    (sfimage.clone().release()));
3239
        std::auto_ptr<sfdata> sfdata(new sfdata(sfimageClone.get()));
3239
        std::auto_ptr<sfield::sfdata> sfdata(new sfield::sfdata(sfimageClone.get()));
3240
        sfimageClone.release();
3240
        sfimageClone.release();
3241
        if (!JS_SetPrivate(cx, sfimageObj, sfdata.get())) { return JS_FALSE; }
3241
        if (!JS_SetPrivate(cx, sfimageObj, sfdata.get())) { return JS_FALSE; }
3242
        sfdata.release();
3242
        sfdata.release();
Lines 3355-3361 Link Here
3355
3355
3356
        auto_ptr<openvrml::sfimage>
3356
        auto_ptr<openvrml::sfimage>
3357
            sfimage(new openvrml::sfimage(x, y, comp, &pixels[0]));
3357
            sfimage(new openvrml::sfimage(x, y, comp, &pixels[0]));
3358
        auto_ptr<sfdata> sfdata(new sfdata(sfimage.get()));
3358
        auto_ptr<sfield::sfdata> sfdata(new sfield::sfdata(sfimage.get()));
3359
        sfimage.release();
3359
        sfimage.release();
3360
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
3360
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
3361
        sfdata.release();
3361
        sfdata.release();
Lines 3483-3489 Link Here
3483
        using std::auto_ptr;
3483
        using std::auto_ptr;
3484
3484
3485
        auto_ptr<openvrml::sfnode> sfnodeClone(new openvrml::sfnode(node));
3485
        auto_ptr<openvrml::sfnode> sfnodeClone(new openvrml::sfnode(node));
3486
        auto_ptr<sfdata> sfdata(new sfdata(sfnodeClone.get()));
3486
        auto_ptr<sfield::sfdata> sfdata(new sfield::sfdata(sfnodeClone.get()));
3487
        sfnodeClone.release();
3487
        sfnodeClone.release();
3488
        if (!JS_SetPrivate(cx, sfnodeObj, sfdata.get())) { return JS_FALSE; }
3488
        if (!JS_SetPrivate(cx, sfnodeObj, sfdata.get())) { return JS_FALSE; }
3489
        sfdata.release();
3489
        sfdata.release();
Lines 3573-3579 Link Here
3573
    try {
3573
    try {
3574
        using std::auto_ptr;
3574
        using std::auto_ptr;
3575
        auto_ptr<openvrml::sfnode> sfnode(new openvrml::sfnode(nodes[0]));
3575
        auto_ptr<openvrml::sfnode> sfnode(new openvrml::sfnode(nodes[0]));
3576
        auto_ptr<sfdata> sfdata(new sfdata(sfnode.get()));
3576
        auto_ptr<sfield::sfdata> sfdata(new sfield::sfdata(sfnode.get()));
3577
        sfnode.release();
3577
        sfnode.release();
3578
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
3578
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
3579
        sfdata.release();
3579
        sfdata.release();
Lines 3863-3869 Link Here
3863
    try {
3863
    try {
3864
        auto_ptr<openvrml::sfrotation>
3864
        auto_ptr<openvrml::sfrotation>
3865
            sfrotation(new openvrml::sfrotation(rotation(x, y, z, angle)));
3865
            sfrotation(new openvrml::sfrotation(rotation(x, y, z, angle)));
3866
        auto_ptr<sfdata> sfdata(new sfdata(sfrotation.get()));
3866
        auto_ptr<sfield::sfdata> sfdata(new sfield::sfdata(sfrotation.get()));
3867
        sfrotation.release();
3867
        sfrotation.release();
3868
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
3868
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
3869
        sfdata.release();
3869
        sfdata.release();
Lines 4325-4331 Link Here
4325
4325
4326
        auto_ptr<openvrml::sfvec2f>
4326
        auto_ptr<openvrml::sfvec2f>
4327
            sfvec2f(new openvrml::sfvec2f(vec2f(x, y)));
4327
            sfvec2f(new openvrml::sfvec2f(vec2f(x, y)));
4328
        auto_ptr<sfdata> sfdata(new sfdata(sfvec2f.get()));
4328
        auto_ptr<sfield::sfdata> sfdata(new sfield::sfdata(sfvec2f.get()));
4329
        sfvec2f.release();
4329
        sfvec2f.release();
4330
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
4330
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
4331
        sfdata.release();
4331
        sfdata.release();
Lines 4816-4822 Link Here
4816
4816
4817
        auto_ptr<openvrml::sfvec3f>
4817
        auto_ptr<openvrml::sfvec3f>
4818
            sfvec3f(new openvrml::sfvec3f(vec3f(vec[0], vec[1], vec[2])));
4818
            sfvec3f(new openvrml::sfvec3f(vec3f(vec[0], vec[1], vec[2])));
4819
        auto_ptr<sfdata> sfdata(new sfdata(sfvec3f.get()));
4819
        auto_ptr<sfield::sfdata> sfdata(new sfield::sfdata(sfvec3f.get()));
4820
        sfvec3f.release();
4820
        sfvec3f.release();
4821
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
4821
        if (!JS_SetPrivate(cx, obj, sfdata.get())) { return JS_FALSE; }
4822
        sfdata.release();
4822
        sfdata.release();

Return to bug 88970