org.cresques.px.dxf
Class DxfEntityMaker

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

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

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

Author:
jmorell

Constructor Summary
DxfEntityMaker(IProjection proj)
          Constructor de DxfEntityMaker.
 
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
 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 grp)
          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 grp)
          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 v)
          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)
          Los Splines estan implementados como LwPolylines.
 void createText(DxfGroupVector grp)
          Crea un nuevo texto partiendo de la información almacenada en el DXF
 void depureAttributes()
          Borra los atributos repetidos
 void endBlk(DxfGroupVector grp)
          Fin de la definición de un bloqe
 void endSeq()
          Fin de secuencia
 void gestionaInsert(DxfInsert entity, DxfLayer layer)
          Método que permite incluir en la lista general de objetos los objetos que se encuentran dentro del bloque referenciado por cada DxfInsert.
 java.util.Vector getAttributes()
          Permite la gestión de los atributos almacenados en unn DXF
 DxfBlock getBlk()
          Devuelve el bloque activo.
 java.util.Vector getBlkList()
          Devuelve la lista de bloques
 DxfEntityList getEntities()
          Devuelve las entidades creadas.
 Extent getExtent()
          Devuelve el extent
 DxfTable getLayers()
          Devuelve las capas del DXF en forma de DxfTable.
 IObjList getObjects()
          Devuelve los objetos almacenados en el DXF
 IProjection getProjection()
          Devuelve la proyección cartográfica en la que se encuentran las entidades.
 boolean isDxf3DFile()
          Permite saber si se trata de un fichero DXF en 2D o en 3D
 void reProject(ICoordTrans rp)
          Permite reproyectar las entidades creadas dado un conjunto de coordenadas de transformación.
 void setAddingToBlock(boolean a)
          Permite saber si se están añadiendo elementos a un bloque
 void setProjection(IProjection proj)
          Establece la proyección cartográfica en la que se van a crear las entidades.
 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

DxfEntityMaker

public DxfEntityMaker(IProjection proj)
Constructor de DxfEntityMaker.

Method Detail

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

getObjects

public IObjList getObjects()
Description copied from interface: DxfFile.EntityFactory
Devuelve los objetos almacenados en el DXF

Specified by:
getObjects in interface DxfFile.EntityFactory
Returns:
IObjList con los objetos procedentes del DXF

getExtent

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

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

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 grp)
                 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 v)
                 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

createEllipse

public void createEllipse(DxfGroupVector grp)
                   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

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
Los Splines estan implementados como LwPolylines. Se pintan las lineas entre los vertices pero no se aplica la curvatura Spline. TODO: Contemplar la curvatura spline para Splines.

Specified by:
createSpline 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

setProjection

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


getProjection

public IProjection getProjection()
Devuelve la proyección cartográfica en la que se encuentran las entidades.

Specified by:
getProjection in interface Projected
Returns:
IProjection, proyección cartográfica.

reProject

public void reProject(ICoordTrans rp)
Permite reproyectar las entidades creadas dado un conjunto de coordenadas de transformación.

Specified by:
reProject in interface Projected

getEntities

public DxfEntityList getEntities()
Devuelve las entidades creadas.

Returns:
DxfEntityList

getLayers

public DxfTable getLayers()
Devuelve las capas del DXF en forma de DxfTable.

Returns:
DxfTable

getBlk

public DxfBlock getBlk()
Devuelve el bloque activo.

Returns:
DxfBlock

gestionaInsert

public void gestionaInsert(DxfInsert entity,
                           DxfLayer layer)
Método que permite incluir en la lista general de objetos los objetos que se encuentran dentro del bloque referenciado por cada DxfInsert.


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

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

depureAttributes

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

Specified by:
depureAttributes in interface DxfFile.EntityFactory

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:
booleano que indica si se trata de un fichero DXF 3D