com.iver.cit.jdwglib.dwg
Class DwgUtil

java.lang.Object
  extended bycom.iver.cit.jdwglib.dwg.DwgUtil

public final class DwgUtil
extends java.lang.Object

The DwgUtil class contains the essential set of functions for reading bitstreams in DWG files

Author:
jmorell

Constructor Summary
DwgUtil()
           
 
Method Summary
static int[] bytesToMachineBytes(byte[] data)
          Convert bytes to machine value bytes
static java.util.Vector getBitDouble(int[] data, int offset)
          Read a double value from a group of unsigned bytes
static java.util.Vector getBitLong(int[] data, int offset)
          Read a long value from a group of unsigned bytes
static java.lang.Object getBits(int[] data, int count, int offset)
          Returns a set of bits from a group of unsigned bytes
static java.util.Vector getBitShort(int[] data, int offset)
          Read a short value from a group of unsigned bytes
static java.util.Vector getDefaultDouble(int[] data, int offset, double defVal)
          Read a double value from a group of unsigned bytes and a default double
static java.util.Vector getHandle(int[] data, int offset)
          Read a int value (the handle of a DWG object) from a group of unsigned bytes
static java.util.Vector getModularChar(int[] data, int offset)
          Read a char value from a group of unsigned bytes
static int getModularShort(java.nio.ByteBuffer bb)
          Read a int value (the size of a modular short) from a ByteBuffer
static java.util.Vector getRawChar(int[] data, int offset)
          Read a char value from a group of unsigned bytes
static java.util.Vector getRawDouble(int[] data, int offset)
          Read a double value from a group of unsigned bytes
static java.util.Vector getRawLong(int[] data, int offset)
          Read a long value from a group of unsigned bytes
static java.util.Vector getRawShort(int[] data, int offset)
          Read a short value from a group of unsigned bytes
static java.util.Vector getTextString(int[] data, int offset)
          Read a String from a group of unsigned bytes
static int handleBinToHandleInt(java.util.Vector layerHandle)
          Obtain the int value of a handle given in binary format
static java.util.Vector readExtendedData(int[] data, int offset)
          Read the extended data for a DWG object Don't use in this version.
static java.util.Vector testBit(int[] data, int offset)
          Test a bit obtained from a set of unsigned bytes
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DwgUtil

public DwgUtil()
Method Detail

readExtendedData

public static java.util.Vector readExtendedData(int[] data,
                                                int offset)
                                         throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the extended data of a DWG object
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getDefaultDouble

public static java.util.Vector getDefaultDouble(int[] data,
                                                int offset,
                                                double defVal)
                                         throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the double value
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getBitDouble

public static java.util.Vector getBitDouble(int[] data,
                                            int offset)
                                     throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the double value
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getRawDouble

public static java.util.Vector getRawDouble(int[] data,
                                            int offset)
                                     throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the double value
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getBitShort

public static java.util.Vector getBitShort(int[] data,
                                           int offset)
                                    throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the short value
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getRawShort

public static java.util.Vector getRawShort(int[] data,
                                           int offset)
                                    throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the short value
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getBitLong

public static java.util.Vector getBitLong(int[] data,
                                          int offset)
                                   throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the long value
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getRawLong

public static java.util.Vector getRawLong(int[] data,
                                          int offset)
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the long value
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getRawChar

public static java.util.Vector getRawChar(int[] data,
                                          int offset)
                                   throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the char value
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getModularChar

public static java.util.Vector getModularChar(int[] data,
                                              int offset)
                                       throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the char value
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getTextString

public static java.util.Vector getTextString(int[] data,
                                             int offset)
                                      throws java.lang.Exception
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:
Vector This vector has two parts. First is an int value that represents the new offset, and second is the String
Throws:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getHandle

public static java.util.Vector getHandle(int[] data,
                                         int offset)
                                  throws java.lang.Exception
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:
Vector This vector 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:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

getModularShort

public static int getModularShort(java.nio.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 java.lang.Object getBits(int[] data,
                                       int count,
                                       int offset)
                                throws java.lang.Exception
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:
java.lang.Exception - If an unexpected bit value is found in the DWG file. Occurs when we are looking for LwPolylines.

testBit

public static java.util.Vector 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:
Vector This vector 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

handleBinToHandleInt

public static int handleBinToHandleInt(java.util.Vector 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