Class DwgUtil

java.lang.Object
org.gvsig.dwg.lib.DwgUtil

public final class DwgUtil extends Object
The DwgUtil class contains the essential set of functions for reading bitstreams in DWG files
Author:
jmorell
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int[]
    bytesToMachineBytes(byte[] data)
    Convert bytes to machine value bytes
    static ArrayList
    getBitDouble(int[] data, int offset)
    Read a double value from a group of unsigned bytes
    static ArrayList
    getBitLong(int[] data, int offset)
    Read a long value from a group of unsigned bytes
    static Object
    getBits(int[] data, int count, int offset)
    Returns a set of bits from a group of unsigned bytes
    static ArrayList
    getBitShort(int[] data, int offset)
    Read a short value from a group of unsigned bytes
    static ArrayList
    getCmColor(int[] intData, int offset, String version)
    Read a CmColor from a group of unsigned bytes
    static ArrayList
    getDefaultDouble(int[] data, int offset, double defVal)
    Read a double value from a group of unsigned bytes and a default double
    static ArrayList
    getHandle(int[] data, int offset)
    Read a int value (the handle of a DWG object) from a group of unsigned bytes
    static ArrayList
    getModularChar(int[] data, int offset)
    Read a char value from a group of unsigned bytes
    static int
    Read a int value (the size of a modular short) from a ByteBuffer
    static ArrayList
    getRawChar(int[] data, int offset)
    Read a char value from a group of unsigned bytes
    static ArrayList
    getRawDouble(int[] data, int offset)
    Read a double value from a group of unsigned bytes
    static ArrayList
    getRawLong(int[] data, int offset)
    Read a long value from a group of unsigned bytes
    static ArrayList
    getRawShort(int[] data, int offset)
    Read a short value from a group of unsigned bytes
    static ArrayList
    getTextString(int[] data, int offset)
    Read a String from a group of unsigned bytes
    static int
    Obtain the int value of a handle given in binary format
    static int
    handleToInt(List fromGetHandle)
    It receives the list procedent from getHandle method, and return the handle as int
    static ArrayList
    readExtendedData(int[] data, int offset)
    Read the extended data for a DWG object Don't use in this version.
    static ArrayList
    testBit(int[] data, int offset)
    Test a bit obtained from a set of unsigned bytes
    static int[]
    toIntArray(byte[] bytes)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DwgUtil

      public DwgUtil()
  • Method Details

    • readExtendedData

      public static ArrayList readExtendedData(int[] data, int offset) throws RuntimeException
      Read the extended data for a DWG object Don't use in this version. Serious bugs detected
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the extended data of a DWG object
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getDefaultDouble

      public static ArrayList getDefaultDouble(int[] data, int offset, double defVal) throws RuntimeException
      Read a double value from a group of unsigned bytes and a default double
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      defVal - Default double value
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the double value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getBitDouble

      public static ArrayList getBitDouble(int[] data, int offset) throws RuntimeException
      Read a double value from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the double value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getRawDouble

      public static ArrayList getRawDouble(int[] data, int offset) throws RuntimeException
      Read a double value from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the double value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getBitShort

      public static ArrayList getBitShort(int[] data, int offset) throws RuntimeException
      Read a short value from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the short value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getRawShort

      public static ArrayList getRawShort(int[] data, int offset) throws RuntimeException
      Read a short value from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the short value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getBitLong

      public static ArrayList getBitLong(int[] data, int offset) throws RuntimeException
      Read a long value from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the long value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getRawLong

      public static ArrayList getRawLong(int[] data, int offset) throws RuntimeException
      Read a long value from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the long value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
      RuntimeException
    • getRawChar

      public static ArrayList getRawChar(int[] data, int offset) throws RuntimeException
      Read a char value from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the char value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getModularChar

      public static ArrayList getModularChar(int[] data, int offset) throws RuntimeException
      Read a char value from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the char value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getTextString

      public static ArrayList getTextString(int[] data, int offset) throws RuntimeException
      Read a String from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the String
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getCmColor

      public static ArrayList getCmColor(int[] intData, int offset, String version) throws RuntimeException
      Read a CmColor from a group of unsigned bytes
      Parameters:
      intData -
      offset - The current bit offset where the value begins
      version -
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the int value (handle of a DWG object)
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getHandle

      public static ArrayList getHandle(int[] data, int offset) throws RuntimeException
      Read a int value (the handle of a DWG object) from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is the int value (handle of a DWG object)
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • getModularShort

      public static int getModularShort(ByteBuffer bb)
      Read a int value (the size of a modular short) from a ByteBuffer
      Parameters:
      bb - Data given as a ByteBuffer
      Returns:
      int Size of the modular short
    • getBits

      public static Object getBits(int[] data, int count, int offset) throws RuntimeException
      Returns a set of bits from a group of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      count - Bit counter
      offset - The current bit offset where the value begins
      Returns:
      This method returns an array of bytes or an int value
      Throws:
      RuntimeException - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.
    • testBit

      public static ArrayList testBit(int[] data, int offset)
      Test a bit obtained from a set of unsigned bytes
      Parameters:
      data - Array of unsigned bytes obtained from the DWG binary file
      offset - The current bit offset where the value begins
      Returns:
      ArrayList This ArrayList has two parts. First is an int value that represents the new offset, and second is a bit flag
    • bytesToMachineBytes

      public static int[] bytesToMachineBytes(byte[] data)
      Convert bytes to machine value bytes
      Parameters:
      data - Input of array of bytes
      Returns:
      int[] Output of array of machine bytes
    • handleToInt

      public static int handleToInt(List fromGetHandle)
      It receives the list procedent from getHandle method, and return the handle as int
      Parameters:
      fromGetHandle -
      Returns:
    • handleBinToHandleInt

      public static int handleBinToHandleInt(ArrayList layerHandle)
      Obtain the int value of a handle given in binary format
      Parameters:
      layerHandle - Handle in binary format
      Returns:
      int Int value of the handle
    • toIntArray

      public static int[] toIntArray(byte[] bytes)