Esempio n. 1
0
 /**
  * Reads the header of an object in a DWG file Version 15
  *
  * @param data Array of unsigned bytes obtained from the DWG binary file
  * @param offset The current bit offset where the value begins
  * @return int New offset
  * @throws Exception If an unexpected bit value is found in the DWG file. Occurs when we are
  *     looking for LwPolylines.
  */
 public int readObjectHeaderV15(int[] data, int offset) throws Exception {
   int bitPos = offset;
   Integer mode = (Integer) DwgUtil.getBits(data, 2, bitPos);
   bitPos = bitPos + 2;
   setMode(mode.intValue());
   Vector v = DwgUtil.getBitLong(data, bitPos);
   bitPos = ((Integer) v.get(0)).intValue();
   int rnum = ((Integer) v.get(1)).intValue();
   setNumReactors(rnum);
   v = DwgUtil.testBit(data, bitPos);
   bitPos = ((Integer) v.get(0)).intValue();
   boolean nolinks = ((Boolean) v.get(1)).booleanValue();
   setNoLinks(nolinks);
   v = DwgUtil.getBitShort(data, bitPos);
   bitPos = ((Integer) v.get(0)).intValue();
   int color = ((Integer) v.get(1)).intValue();
   setColor(color);
   v = DwgUtil.getBitDouble(data, bitPos);
   bitPos = ((Integer) v.get(0)).intValue();
   float ltscale = ((Double) v.get(1)).floatValue();
   Integer ltflag = (Integer) DwgUtil.getBits(data, 2, bitPos);
   bitPos = bitPos + 2;
   Integer psflag = (Integer) DwgUtil.getBits(data, 2, bitPos);
   bitPos = bitPos + 2;
   v = DwgUtil.getBitShort(data, bitPos);
   bitPos = ((Integer) v.get(0)).intValue();
   int invis = ((Integer) v.get(1)).intValue();
   v = DwgUtil.getRawChar(data, bitPos);
   bitPos = ((Integer) v.get(0)).intValue();
   int weight = ((Integer) v.get(1)).intValue();
   return bitPos;
 }