org.cresques.px.dxf
Class DxfFeatureMaker

java.lang.Object
  extended byorg.cresques.px.dxf.DxfFeatureMaker
All Implemented Interfaces:
DxfFile.EntityFactory, Projected

public class DxfFeatureMaker
extends java.lang.Object
implements DxfFile.EntityFactory, Projected

La clase DxfFeatureMaker facilita la creación de entidades en un modelo de datos GIS. La creación se realiza partiendo de las entidades obtenidas de un fichero DXF.

Author:
jmorell

Constructor Summary
DxfFeatureMaker(IProjection proj)
          Constructor de DxfFeatureMaker.
 
Method Summary
 void addVertex(DxfGroupVector grp)
          Añade un vértice a la polilínea que se está creando
 void createArc(DxfGroupVector grp)
          Crea un nuevo arco partiendo de la información almacenada en el DXF
static java.util.Vector createArc(java.awt.geom.Point2D coord1, java.awt.geom.Point2D coord2, double bulge)
          Invoca el método de creación de arcos para polilíneas con parámetros de curvatura.
 void createAttdef(DxfGroupVector grp)
          Construye la definición de un nuevo atributo partiendo de la información almacenada en el DXF
 void createAttrib(DxfGroupVector grp)
          Crea un nuevo atributo partiendo de la información almacenada en el DXF
 void createBlock(DxfGroupVector grp)
          Crea un bloque
 void createCircle(DxfGroupVector grp)
          Crea un nuevo círculo partiendo de la información almacenada en el DXF
 void createEllipse(DxfGroupVector v)
          Crea una nueva elipse partiendo de la información almacenada en el DXF
 void createInsert(DxfGroupVector grp)
          Crea un nuevo punto de inserción partiendo de la información almacenada en el DXF
 void createLayer(DxfGroupVector v)
          Crea una nueva capa partiendo de la información almacenada en el DXF
 void createLine(DxfGroupVector grp)
          Crea una nueva línea partiendo de la información almacenada en el DXF
 void createLwPolyline(DxfGroupVector grp)
          Crea una nueva LwPolyline partiendo de la información almacenada en el DXF
 void createMText(DxfGroupVector grp)
          Crea un nuevo MText partiendo de la información almacenada en el DXF
 void createPoint(DxfGroupVector grp)
          Crea un nuevo punto partiendo de la información almacenada en el DXF
 void createPolyline(DxfGroupVector grp)
          Crea una nueva polilínea partiendo de la información almacenada en el DXF
 void createSolid(DxfGroupVector grp)
          Crea un nuevo sólido 2D partiendo de la información almacenada en el DXF
 void createSpline(DxfGroupVector grp)
          Crea un nuevo Spline partiendo de la información almacenada en el DXF
 void createText(DxfGroupVector grp)
          Crea un nuevo texto partiendo de la información almacenada en el DXF
 void depureAttributes()
          Borra los atributos repetidos
 void draw(java.awt.Graphics2D g, ViewPortData vp)
          Permite dibujar las features creadas.
 void endBlk(DxfGroupVector grp)
          Fin de la definición de un bloqe
 void endSeq()
          Fin de secuencia
 java.util.Vector getAttributes()
          Permite la gestión de los atributos almacenados en unn DXF
 DxfBlock getBlk()
           
 java.util.Vector getBlkList()
          Devuelve la lista de bloques
 DxfEntityList getDxfEntityList()
           
 Extent getExtent()
          Devuelve el extent
 IObjList getObjects()
          Devuelve las features creadas.
 IProjection getProjection()
           
 boolean isDxf3DFile()
          Permite saber si se trata de un fichero DXF en 2D o en 3D
 void reProject(ICoordTrans rp)
           
 void setAddingToBlock(boolean a)
          Permite saber si se están añadiendo elementos a un bloque
 void setDxf3DFile(boolean dxf3DFile)
           
 void setProjection(IProjection p)
          Establece la proyección cartográfica en la que se van a crear las features.
 void testBlocks()
          Gestiona los bloques que no se han tratado en la primera vuelta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DxfFeatureMaker

public DxfFeatureMaker(IProjection proj)
Constructor de DxfFeatureMaker.

Method Detail

setAddingToBlock

public void setAddingToBlock(boolean a)
Description copied from interface: DxfFile.EntityFactory
Permite saber si se están añadiendo elementos a un bloque

Specified by:
setAddingToBlock in interface DxfFile.EntityFactory

createLayer

public void createLayer(DxfGroupVector v)
                 throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea una nueva capa partiendo de la información almacenada en el DXF

Specified by:
createLayer in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createPolyline

public void createPolyline(DxfGroupVector grp)
                    throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea una nueva polilínea partiendo de la información almacenada en el DXF

Specified by:
createPolyline in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

endSeq

public void endSeq()
            throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Fin de secuencia

Specified by:
endSeq in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

addVertex

public void addVertex(DxfGroupVector grp)
               throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Añade un vértice a la polilínea que se está creando

Specified by:
addVertex in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createLwPolyline

public void createLwPolyline(DxfGroupVector grp)
                      throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea una nueva LwPolyline partiendo de la información almacenada en el DXF

Specified by:
createLwPolyline in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createLine

public void createLine(DxfGroupVector grp)
                throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea una nueva línea partiendo de la información almacenada en el DXF

Specified by:
createLine in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createText

public void createText(DxfGroupVector grp)
                throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un nuevo texto partiendo de la información almacenada en el DXF

Specified by:
createText in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createMText

public void createMText(DxfGroupVector grp)
                 throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un nuevo MText partiendo de la información almacenada en el DXF

Specified by:
createMText in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createPoint

public void createPoint(DxfGroupVector grp)
                 throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un nuevo punto partiendo de la información almacenada en el DXF

Specified by:
createPoint in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createCircle

public void createCircle(DxfGroupVector grp)
                  throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un nuevo círculo partiendo de la información almacenada en el DXF

Specified by:
createCircle in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createArc

public void createArc(DxfGroupVector grp)
               throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un nuevo arco partiendo de la información almacenada en el DXF

Specified by:
createArc in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createInsert

public void createInsert(DxfGroupVector grp)
                  throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un nuevo punto de inserción partiendo de la información almacenada en el DXF

Specified by:
createInsert in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createSolid

public void createSolid(DxfGroupVector grp)
                 throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un nuevo sólido 2D partiendo de la información almacenada en el DXF

Specified by:
createSolid in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createSpline

public void createSpline(DxfGroupVector grp)
                  throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un nuevo Spline partiendo de la información almacenada en el DXF

Specified by:
createSpline in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createAttdef

public void createAttdef(DxfGroupVector grp)
                  throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Construye la definición de un nuevo atributo partiendo de la información almacenada en el DXF

Specified by:
createAttdef in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createAttrib

public void createAttrib(DxfGroupVector grp)
                  throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un nuevo atributo partiendo de la información almacenada en el DXF

Specified by:
createAttrib in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

createBlock

public void createBlock(DxfGroupVector grp)
                 throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea un bloque

Specified by:
createBlock in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

endBlk

public void endBlk(DxfGroupVector grp)
            throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Fin de la definición de un bloqe

Specified by:
endBlk in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

testBlocks

public void testBlocks()
Description copied from interface: DxfFile.EntityFactory
Gestiona los bloques que no se han tratado en la primera vuelta

Specified by:
testBlocks in interface DxfFile.EntityFactory

depureAttributes

public void depureAttributes()
Description copied from interface: DxfFile.EntityFactory
Borra los atributos repetidos

Specified by:
depureAttributes in interface DxfFile.EntityFactory

getAttributes

public java.util.Vector getAttributes()
Description copied from interface: DxfFile.EntityFactory
Permite la gestión de los atributos almacenados en unn DXF

Specified by:
getAttributes in interface DxfFile.EntityFactory
Returns:
un Vector con la lista de atributos

getExtent

public Extent getExtent()
Description copied from interface: DxfFile.EntityFactory
Devuelve el extent

Specified by:
getExtent in interface DxfFile.EntityFactory
Returns:
el extent

setProjection

public void setProjection(IProjection p)
Establece la proyección cartográfica en la que se van a crear las features.


reProject

public void reProject(ICoordTrans rp)
Specified by:
reProject in interface Projected

getProjection

public IProjection getProjection()
Specified by:
getProjection in interface Projected

getObjects

public IObjList getObjects()
Devuelve las features creadas.

Specified by:
getObjects in interface DxfFile.EntityFactory
Returns:
IObjList

draw

public void draw(java.awt.Graphics2D g,
                 ViewPortData vp)
Permite dibujar las features creadas.


createArc

public static java.util.Vector createArc(java.awt.geom.Point2D coord1,
                                         java.awt.geom.Point2D coord2,
                                         double bulge)
Invoca el método de creación de arcos para polilíneas con parámetros de curvatura.

Returns:
Vector con los puntos del arco.

getBlkList

public java.util.Vector getBlkList()
Description copied from interface: DxfFile.EntityFactory
Devuelve la lista de bloques

Specified by:
getBlkList in interface DxfFile.EntityFactory
Returns:
la lista de bloques

getDxfEntityList

public DxfEntityList getDxfEntityList()

getBlk

public DxfBlock getBlk()

createEllipse

public void createEllipse(DxfGroupVector v)
                   throws java.lang.Exception
Description copied from interface: DxfFile.EntityFactory
Crea una nueva elipse partiendo de la información almacenada en el DXF

Specified by:
createEllipse in interface DxfFile.EntityFactory
Throws:
java.lang.Exception

isDxf3DFile

public boolean isDxf3DFile()
Description copied from interface: DxfFile.EntityFactory
Permite saber si se trata de un fichero DXF en 2D o en 3D

Specified by:
isDxf3DFile in interface DxfFile.EntityFactory
Returns:
Returns the dxf3DFile.

setDxf3DFile

public void setDxf3DFile(boolean dxf3DFile)
Parameters:
dxf3DFile - The dxf3DFile to set.