@Override public List<Surface> getInteriorSurfaces() { return getReferencedObject().getInteriorSurfaces(); } }
writer.writeEndElement(); for ( Surface inSurface : solid.getInteriorSurfaces() ) { writer.writeStartElement( gmlNs, "interior" ); exportSurface( inSurface );
private Solid transform( Solid solid, Transformation trans ) throws TransformationException { SolidType type = solid.getSolidType(); Solid result = null; switch ( type ) { case CompositeSolid: result = transform( (CompositeSolid) solid, trans ); break; case Solid: Surface ext = solid.getExteriorSurface(); Surface tExt = transform( ext, trans ); List<Surface> inter = solid.getInteriorSurfaces(); List<Surface> tInter = new LinkedList<Surface>(); if ( inter != null && !inter.isEmpty() ) { for ( Surface in : inter ) { if ( in != null ) { Surface tIn = transform( in, trans ); tInter.add( tIn ); } } } result = geomFactory.createSolid( solid.getId(), getTargetCRS(), tExt, tInter ); break; } return result; }
private void traverseSolid( Solid s ) { SolidType st = s.getSolidType(); switch ( st ) { case CompositeSolid: { for ( Solid member : ( (CompositeSolid) s ) ) { traverse( member ); } break; } case Solid: { if ( s.getExteriorSurface() != null ) { traverse( s.getExteriorSurface() ); } for ( Surface inner : s.getInteriorSurfaces() ) { traverse( inner ); } break; } } }