public Point3f ptValue(ScriptVariable x, boolean allowFloat)
throws ScriptException {
Object pt;
if (isSyntaxCheck)
return new Point3f();
switch (x.tok) {
case Token.point3f:
return (Point3f) x.value;
case Token.bitset:
return (Point3f) eval
.getBitsetProperty(ScriptVariable.bsSelect(x), Token.xyz, null, null,
x.value, null, false, Integer.MAX_VALUE, false);
case Token.string:
pt = Escape.unescapePoint(ScriptVariable.sValue(x));
if (pt instanceof Point3f)
return (Point3f) pt;
break;
case Token.varray:
pt = Escape.unescapePoint("{" + ScriptVariable.sValue(x) + "}");
if (pt instanceof Point3f)
return (Point3f) pt;
break;
}
if (!allowFloat)
return null;
float f = ScriptVariable.fValue(x);
return new Point3f(f, f, f);
}