@Override public Vector unpack(BitStream bs) { float[] result = new float[dim]; for (int i = 0; i < dim; i++) { result[i] = floatUnpacker.unpack(bs); } return new Vector(result); }
@Override public Vector unpack(BitStream bs) { return new Vector( bs.read3BitNormal() ); }
@Override public Vector unpack(BitStream bs) { return new Vector( bs.read3BitNormal() ); }
@Override public Vector unpack(BitStream bs) { float[] result = new float[dim]; for (int i = 0; i < dim; i++) { result[i] = floatUnpacker.unpack(bs); } return new Vector(result); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; v[0] = Float.intBitsToFloat(bs.readUBitInt(32)); v[1] = Float.intBitsToFloat(bs.readUBitInt(32)); v[2] = Float.intBitsToFloat(bs.readUBitInt(32)); return new Vector(v); }
@Override public Vector unpack(BitStream bs) { return new Vector( floatUnpacker.unpack(bs), floatUnpacker.unpack(bs) ); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; v[0] = Float.intBitsToFloat(bs.readUBitInt(32)); v[1] = Float.intBitsToFloat(bs.readUBitInt(32)); v[2] = Float.intBitsToFloat(bs.readUBitInt(32)); return new Vector(v); }
@Override public Vector unpack(BitStream bs) { return new Vector( floatUnpacker.unpack(bs), floatUnpacker.unpack(bs) ); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; if ((nBits | 0x20) == 0x20) { v[0] = Float.intBitsToFloat(bs.readUBitInt(32)); v[1] = Float.intBitsToFloat(bs.readUBitInt(32)); } else { v[0] = bs.readBitAngle(nBits); v[1] = bs.readBitAngle(nBits); } return new Vector(v); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; if ((nBits | 0x20) == 0x20) { v[0] = Float.intBitsToFloat(bs.readUBitInt(32)); v[1] = Float.intBitsToFloat(bs.readUBitInt(32)); } else { v[0] = bs.readBitAngle(nBits); v[1] = bs.readBitAngle(nBits); } return new Vector(v); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; v[0] = floatUnpacker.unpack(bs); v[1] = floatUnpacker.unpack(bs); if (!normal) { v[2] = floatUnpacker.unpack(bs); } else { boolean s = bs.readBitFlag(); float p = v[0] * v[0] + v[1] * v[1]; if (p < 1.0f) v[2] = (float) Math.sqrt(1.0f - p); if (s) v[2] = -v[2]; } return new Vector(v); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; v[0] = bs.readBitAngle(nBits); v[1] = bs.readBitAngle(nBits); v[2] = bs.readBitAngle(nBits); return new Vector(v); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; v[0] = bs.readBitAngle(nBits); v[1] = bs.readBitAngle(nBits); v[2] = bs.readBitAngle(nBits); return new Vector(v); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; v[0] = floatUnpacker.unpack(bs); v[1] = floatUnpacker.unpack(bs); if (!normal) { v[2] = floatUnpacker.unpack(bs); } else { boolean s = bs.readBitFlag(); float p = v[0] * v[0] + v[1] * v[1]; if (p < 1.0f) v[2] = (float) Math.sqrt(1.0f - p); if (s) v[2] = -v[2]; } return new Vector(v); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; boolean b0 = bs.readBitFlag(); boolean b1 = bs.readBitFlag(); boolean b2 = bs.readBitFlag(); if (b0) v[0] = bs.readBitCoord(); if (b1) v[1] = bs.readBitCoord(); if (b2) v[2] = bs.readBitCoord(); return new Vector(v); }
@Override public Vector unpack(BitStream bs) { float[] v = new float[3]; boolean b0 = bs.readBitFlag(); boolean b1 = bs.readBitFlag(); boolean b2 = bs.readBitFlag(); if (b0) v[0] = bs.readBitCoord(); if (b1) v[1] = bs.readBitCoord(); if (b2) v[2] = bs.readBitCoord(); return new Vector(v); }